- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77452 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27162
- 相册
- 1
- 日志
- 14
- 记录
- 36
- 帖子
- 4293
- 主题
- 1341
- 精华
- 15
- 分享
- 16
- 好友
- 1975

数学中国总编辑
TA的每日心情 | 衰 2016-11-18 10:46 |
|---|
签到天数: 206 天 [LV.7]常住居民III 超级版主
 群组: 2011年第一期数学建模 群组: 第一期sas基础实训课堂 群组: 第二届数模基础实训 群组: 2012第二期MCM/ICM优秀 群组: MCM优秀论文解析专题 |
#include
% F; m5 d* d2 X1 |8 @1 h9 }) G#include
3 u% ]3 P7 t3 `; a$ u, b/ J#define N 11/ C: c A/ v" U& {1 D2 P
/*用**哨查找*/! k: @/ A2 }9 [
int search(int array[],int n,int k)
1 t) q8 h5 k5 {$ z{int i;7 _) n3 E6 i9 y: \0 X
i=n-1;: X$ o" Z% C% a8 W
array[0]=k;* Z* Y {8 C1 [ {7 G( p
while(array[i]!=k) i--;: K" `: Z) |. B( {- }7 W: g. A: g; B
return(i);% w# b4 Y0 U; |6 s4 q. o
}
1 ]# f# @; _- l: e& h+ K- q/*折半查找法*/
! j. n, z# T/ X! C% hint halfsearch(int array[],int n,int k)
; y& X# E9 S! R$ {( p{int i,j,mid;
1 W2 B3 x; {2 E: F+ v- ci=1;j=n;9 a) G% }( z3 h, C$ B1 e, ]$ _3 w. o
while(i<=j)3 ?7 l% Z. M/ j7 ?
{mid=(i+j)/2;/ v5 C* Q8 H( e4 L
if(k==array[mid]) return(mid);
( y$ x8 N# t% q0 _; T0 ielse if(k
7 O5 ?# a& ]! M4 A. o9 Z# Eelse i=mid+1;" H# U Q) r" Q3 V h+ I
}
1 v8 l& f% ]- S- ^return(0);
+ G7 V1 a! I- L7 ]9 k}
$ y3 L& `' \- ]0 z3 `/*冒泡排序法*/
2 ]5 ]! M' I- `2 K8 Tvoid mpsort(int array[])& W) Y5 a- @+ s1 [4 J& {. [
{int i,j,a;
F9 `0 j1 v4 C6 Ha=0;
6 |* k9 u9 p" ~. S* efor(i=1;i 0 P7 F1 l! U( g& x2 ^
for(j=i+1;j / v8 y. W* G: o% C1 W% C; G8 u1 h
if(array[i]>array[j])/ M& y2 l W5 z" c6 g, {7 B
{a=array[i];
5 e5 b z! g% m7 d1 e" Zarray[i]=array[j];4 \# Q4 ~! s% e
array[j]=a;}- e4 r- [2 Y l' W s2 p* ~/ N
}) X1 q# t( M7 B _
/*直接插入排序*/$ M* h0 c% F+ a/ T: f
void insertsort(int array[])
/ d* x# A8 R9 K- a) _{int i,j;
2 `. r% ~% g+ @/ Rfor(i=2;i / z% B) n e& v
{array[0]=array[i];9 R( V5 j9 X- L6 W P' M5 ^) N( z
j=i-1;% n5 M( _2 Q0 h" u5 O C) Q" R
while(array[0] ) C8 J7 x: x. U' W
{array[j+1]=array[j--];
/ I; `7 X7 J5 }4 qarray[j+1]=array[0];7 \; l) V+ D9 f# G; V
}
, C& ~" @. G) T( H}
. g' k! Y8 ?2 e) Q( e8 k$ D- X. [}. L2 {; ?1 `/ _, Q3 k3 g7 E
/*建立*/
. H; {. P* V _$ n, _0 K7 u9 r% p5 Uvoid creat(int array[])! ~! z1 D: n2 N) }+ Y, O% M* J
{int i;
2 T' m2 T0 n/ }3 G) nprintf("enter the array:\n");! l" j( X/ e! x! ]4 g
for(i=1;i
* U. E, I6 ]% k% ^scanf("%d",&array[i]);6 s1 c; J3 [9 E6 C+ V
}# \$ f i5 I. _* w
/*显示*/4 T9 u S- y6 H+ ? I4 i
void print(int array[])
# O7 w* [; S/ _2 W6 K6 e{int i;& u! a0 T8 T: [
printf("The numbers after sort is:\n");; E- h% G9 u; r
for(i=1;i
0 P$ \/ I/ L3 A( Dprintf("%d ",array[i]);# K2 @6 ^! J5 k+ S) ^; R- P
printf("\n");
, _2 [, P3 D/ [}
. y2 |9 f: b* Y3 A1 C7 v+ V( lmain()
1 c0 D2 [) r! E( r{int a[11],i,x,chang;1 R% d! E1 d9 ?& d6 Z
/*printf("enter the array\n");
9 G! `- P0 K( c" T- ?for(i=1;i<11;i++)% i" R1 k. E+ u7 G9 C$ o/ d3 d1 u
scanf("%d",&a[i]);*/
) d* {4 o# O/ k' ~4 d3 @, Laga:
5 D( q( ?9 B0 u; J1 \printf("\nchang:1: use watching method finding\n 2:use half method finding\n 3: use directness intsert method sort\n 4:use bubble up method sort\n 5:exit\n");
( k! t& A& q+ }; @6 ?+ R5 O3 Escanf("%d",&chang);
' f( ^; @4 F9 ^4 r( kswitch (chang)
- O9 X4 }) n6 l* u! P. M{case 1:
: Y. f1 u* ?& k; X& s5 R* P0 F{creat(a);. K0 [/ ^ A8 B
printf("Please int the search number:\n");
; F# i' W) p+ {. H+ V L8 B: Dscanf("%d",&x);
0 h. ~' S- @" R) d) b- F9 O5 t, qprintf("The number station is:%d\n",search(a,N,x));/ q A5 w5 n' V
goto aga;$ [8 `& y4 h* z+ x! U5 O4 z
}2 D3 f* O$ w+ H
case 2:% \& f+ ?) {8 n( P2 t; ~/ ?
{ creat(a);$ I9 n. h# x# V* ?+ i
insertsort(a);7 t& A V$ {+ Z2 `& u- M& Y
print(a);
9 v% ^( _8 S5 l7 f) R9 }& }- yprintf("Please int the search number:\n");8 m( L/ Z( o4 P- [2 b: B3 v
scanf("%d",&x);
( o. m' Q% V( Xprintf("The number station is:%d\n",halfsearch(a,N,x));
+ V+ y2 c, Y: K& r, g: H4 Y$ U3 Ugoto aga;
i: X/ R- u" p* Q: ^* L2 G}( e3 N7 z7 X0 u' K: g0 V
case 3:
3 {6 g, z6 N0 u, F9 ~3 n{creat(a);
G2 j; R$ A# c' t2 A1 O; g3 y1 Yinsertsort(a);/ M2 u$ i# d7 e6 @
print(a); t! W4 I9 @: c% M; M
goto aga;. E" ^9 i3 u7 n$ T/ b, Z
}
! T! \: e8 I( S( icase 4:/ W9 W2 S1 c. ]3 o. G2 k, j7 l
{creat(a);
7 ^$ j2 A) O2 R3 _, w4 l( Rmpsort(a);& c0 N' O8 N8 e8 o+ h
print(a);
7 }1 x$ Z# l) B P8 A9 {goto aga;
7 e E% C1 \- M1 ^7 p}0 n5 T& u- V3 S
case 5:{ printf("exit!\n");break;}
' i3 U6 Q& A. Adefault:{printf("Error!\n"); goto aga;}
4 Z- J6 V" R8 _& w6 S}
/ J$ q1 r; ~7 ^/ [& ~}) v1 d! |$ [" B9 \
' _9 x6 w( E- m! u |
zan
|