- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77078 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27050
- 相册
- 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 4 E' R2 V ?8 C4 e
#include
7 E( s2 l' A# X) ]4 X$ _#define N 11
! i% p' Y: H% I" j( X/ J8 V/*用**哨查找*/8 y6 k# W5 x4 a7 r3 f& {+ J
int search(int array[],int n,int k)+ N, n4 r+ b, w! \, Q
{int i;5 @! O5 I7 K' W# Q6 R
i=n-1;
9 f; B h a0 p0 v* @ Karray[0]=k;
+ e/ V* |; B, f( c6 Gwhile(array[i]!=k) i--;
# n4 ^, }+ }- r/ v. B2 @4 ^$ Vreturn(i);2 X- d% {. O1 N. l1 M( S
}! ~/ e2 ?1 N; I# d
/*折半查找法*/; z. Z! V1 Y8 t( i {) U2 r& [" r! p
int halfsearch(int array[],int n,int k)
* g/ |. g: A; s8 g7 {1 |$ T$ v{int i,j,mid;
! W5 O% J) d; v' s' x2 x: ]6 Li=1;j=n;3 D. }' s' _3 @" V, x, T1 }# X: ^1 M# p
while(i<=j)
/ V6 L6 t( i# ^+ ]' @! M{mid=(i+j)/2;
* Q# S8 G6 {+ s: hif(k==array[mid]) return(mid);. S" f8 H( F s0 }% s$ E5 e0 }5 E
else if(k " C; p: g3 R6 Z% m2 _- x' K" e
else i=mid+1;
, \* S) u* c6 m. ?* X' N}1 U8 H: e1 D1 Y, q2 s
return(0);& {6 w( v& ^. c/ `) i2 D7 h6 g5 }
}
5 v) ~) p p. z7 c' D6 I/ t$ Y8 m/ A2 K/*冒泡排序法*/
2 `+ ?4 f1 J, f) I8 Xvoid mpsort(int array[])
2 B, S, a7 [7 t' T) N$ Y& s7 o$ A* h% D{int i,j,a;
7 J, A* o0 e4 i$ x5 Ca=0;
6 n/ k: V" |0 z. ^1 U5 \for(i=1;i , h! H1 H& E' S
for(j=i+1;j " O. c& ~0 U0 p% X3 H% O
if(array[i]>array[j])
9 ?! n; B J1 ?) L( t{a=array[i];( N1 H4 \7 @: f
array[i]=array[j];
# z/ b0 B; q! I7 |array[j]=a;}% j5 H& T, u2 N* \5 |
}
% P3 D* h" u! p) m9 [* f" R. V/*直接插入排序*/) V1 @, j; `0 _% J/ F& g
void insertsort(int array[])$ k0 s( M5 P* e4 ^9 M! w$ |/ q2 g" z
{int i,j;
4 a) H2 t' V7 u% V. Efor(i=2;i % ?0 r& P! h, ?
{array[0]=array[i];
: A5 V: l( P. l3 k- cj=i-1;
* z2 r( l$ q. S5 c9 `0 Lwhile(array[0] , {% q" K) Z! z1 j$ v
{array[j+1]=array[j--];9 q8 X F: |5 o# Z; a6 W
array[j+1]=array[0];
) q9 o2 _7 t/ ^! h# `6 Z) `# J}
; o j$ G1 @5 C$ x}
5 T! x. t" F$ F" _}
$ Z' L a- d9 I" @7 I' {& ~/*建立*/
4 p5 L' O& d( ^/ Z- a' v$ a Wvoid creat(int array[])
: K! x. r _3 k, }{int i;
3 F4 r. C/ _. F. d2 w5 Fprintf("enter the array:\n");! H& W# i5 P( z& Z7 v
for(i=1;i
: e; G% W% D# yscanf("%d",&array[i]);* j7 e r5 ^0 P0 n0 z; t
}9 T0 o4 k8 _ `6 x
/*显示*/* H& }, q, {) o7 D5 e
void print(int array[])2 i/ f. k! |5 r8 R
{int i;
- f/ u* n1 d+ {- D9 H+ ` ]printf("The numbers after sort is:\n");
1 F" j6 u/ K1 Y" N! ?for(i=1;i
) V1 o7 r/ \8 [# m9 R6 Fprintf("%d ",array[i]);
6 t1 f! c {8 j5 t8 Hprintf("\n");
1 x6 T" t% a* Y, z) Z}$ w, k( F# y# n/ Z3 ]
main()
- o& H' N9 q/ w{int a[11],i,x,chang;
4 p- C8 {- @5 }/*printf("enter the array\n");4 ^+ R9 ]6 D g' q
for(i=1;i<11;i++)4 u$ ?. {$ {9 Y1 c1 C. `! c
scanf("%d",&a[i]);*/
% l3 |5 m5 P$ x& yaga:
/ \, \ c9 r* {1 Qprintf("\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");
3 o! D& [7 C6 c3 w* gscanf("%d",&chang);# e k1 V7 v+ _+ f1 O
switch (chang)
' ^' `; V9 l4 @* x7 Y3 a, X5 J' `/ ^{case 1:
7 t3 S6 {" e( {) }9 N{creat(a);( u% i" t$ L: h z$ Z* u- O
printf("Please int the search number:\n");
* s3 X! b% B6 lscanf("%d",&x);5 d* h! y! ~! T& n" b0 }) w. C
printf("The number station is:%d\n",search(a,N,x));
) P) M3 k% _& d4 Zgoto aga;* a# }/ p1 k' b% I% }( C* @
}
( @" W' M9 X& h/ B) O7 I! I; G) Wcase 2:
' L# p6 _5 e% ]) y{ creat(a);1 f" b5 H* d9 f# A8 i; ^7 G/ p: z
insertsort(a);
) n6 d( t# j$ @7 pprint(a);2 q& I1 C( |3 U7 N# N
printf("Please int the search number:\n");
) n5 D. r( X2 f- y5 y) z- I% L9 z/ |+ Q. cscanf("%d",&x);
' F- i+ c. ~0 L/ e' K6 uprintf("The number station is:%d\n",halfsearch(a,N,x));3 T* s$ j4 `; J* M& j, h
goto aga;8 i7 ]1 K, T! L+ H Q; G' m
}! ^% O# {5 C3 t6 O
case 3:) H( A7 i1 m. i; c
{creat(a);( W$ ] ~1 M- p% p$ e
insertsort(a);; a% h! O( g% X# P# i! s* ? H
print(a);- Y! Y. s- ^! ~8 @9 i: P; j
goto aga;
$ {6 A( B1 F' a}
2 p) s; @5 Q4 g$ Z$ y9 x1 `case 4:2 V/ M" o7 y# \* h# [9 M) j) a# S, q
{creat(a);; s! y$ l( e4 z* m5 A
mpsort(a);- ], k" k/ M/ M; a+ v% E# g
print(a);, d3 E" [) ? l
goto aga;
( y! H! A6 s3 w$ Z. ^4 N1 ^}* |4 A2 l' X* U; I
case 5:{ printf("exit!\n");break;}; X. [: Y& `" c ?: H$ C; F& G
default:{printf("Error!\n"); goto aga;}. }& @6 J) t. K* r, v |
}
& h |2 ?; M0 R; N! ?! y9 ?}
1 X6 n, F" g7 ^( }1 a+ ^' }3 X2 n2 N% i$ B1 C J: V. J
|
zan
|