- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77546 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27190
- 相册
- 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 9 i0 \$ P2 `6 ~! T. X1 t! X
#include
; D" o! G# o; f7 j) V4 q#define N 11- X8 X+ }) ^- D9 I: W
/*用**哨查找*/
( Y9 T% z; c* g" @* Cint search(int array[],int n,int k)% S' D, R4 i7 |7 U
{int i; M/ w* K( l# S2 K5 L# l; [
i=n-1;( {) N1 [- w0 r3 W8 Q9 }
array[0]=k;/ [% Q/ P K- T8 C( _
while(array[i]!=k) i--;+ V6 v# K9 x- B/ q( M1 _. N
return(i);
7 J* w- k# X& q}, A, i: u+ o1 t+ ?( V! _! f9 |
/*折半查找法*/2 B3 p2 Q6 O' a3 i1 y
int halfsearch(int array[],int n,int k)2 m6 @7 X# c' i$ {# U% [
{int i,j,mid;) t8 q: K8 |2 L/ d
i=1;j=n;/ S1 f8 Q% E+ ?( G$ W7 r! S( }, n Y
while(i<=j)
! }( c' M; p4 T# M! N' H{mid=(i+j)/2;
+ }2 n& C! e7 j4 Kif(k==array[mid]) return(mid);5 G" ?! `: `* n
else if(k
: v: f) n, W1 y: ^" G! ~else i=mid+1; {8 s+ ?! f4 X3 G2 P& N
}
6 b) J, n+ l# W. Vreturn(0);
9 \5 L" O7 D q7 P0 z}
$ H; O0 K2 b# J$ _+ d. z/*冒泡排序法*/
k3 F' w/ }+ e; {void mpsort(int array[])6 b; c' e: t# R6 D, t
{int i,j,a;
* H1 Y7 e2 |9 Z+ t) ha=0;
2 Z8 c# f: i7 w. n) {+ G: mfor(i=1;i " N, d+ w4 k$ q. k& d. K3 E8 l
for(j=i+1;j
, Q+ M3 r6 e6 W, ^9 P% K1 s. |if(array[i]>array[j])) S3 A8 A- Y( `5 J! l6 Q2 \
{a=array[i];) s# j3 Z: ?: K' c* K' T4 l. E
array[i]=array[j];) j* R1 }$ s3 r1 b# @! I5 ~
array[j]=a;}
7 V; a8 }1 D0 b1 o# O. O- F}
) j4 S% H+ o/ ^3 t9 o Y1 T3 Q/*直接插入排序*/0 x) R7 w8 \: J6 G
void insertsort(int array[])
" q; {! o7 _1 {8 Q: l- M3 L: u{int i,j;3 J* X& H% u% H& n# V+ _& D, j
for(i=2;i
6 Y" v' Q& I+ S; d8 `( k{array[0]=array[i];
$ o9 @2 }" V! P7 Z8 O/ L( P H6 {j=i-1;* V3 U+ t4 i4 I _
while(array[0] 5 z- O. t- M6 B e: d
{array[j+1]=array[j--];/ s/ i* N K0 g( }$ w. y n
array[j+1]=array[0];
2 {' l1 b1 i# A. k5 q}9 E5 E! W# q8 I9 g; ?
}
3 n3 c/ {( L0 |9 P8 @}
/ ^% H' p1 s. m9 r0 k/*建立*/
1 P6 }% W# W% f9 fvoid creat(int array[])
% f( E: J9 p! E' ` M{int i;6 p' q/ E" W- @) K3 u- y
printf("enter the array:\n");/ U: {7 S4 W! o1 y8 v
for(i=1;i
) w& d: O2 f1 O, O) Y5 uscanf("%d",&array[i]);
2 S/ {" m) S6 j}2 W s7 X" H. |) X' a3 [
/*显示*/
) o; A/ ] s' |7 o; evoid print(int array[]): b C8 H; A( R& |5 G
{int i; W- y6 V, f& v* }+ F3 \/ @
printf("The numbers after sort is:\n");7 Q; v& s: }: U
for(i=1;i + v& S {/ _# t2 z
printf("%d ",array[i]);
; k8 x7 C1 H) ~printf("\n");3 ?0 M0 u& J _4 f! t
}
8 a' w0 ^8 L0 i2 l8 u6 emain() J" t/ a8 h* `0 u. U0 N3 Y" x
{int a[11],i,x,chang;6 k0 Y9 R& b7 i
/*printf("enter the array\n");
7 _) K0 c6 v+ o7 Z" D# T0 l+ c" Lfor(i=1;i<11;i++)
% l( k8 ~, a- l( Y6 `3 J! ~scanf("%d",&a[i]);*/# a, T: r: [# |% y% F, o' s
aga:
- k5 D4 x' Y% ~( Fprintf("\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");( Q# z$ K) }( ]& ^! Z# |: W0 c$ t
scanf("%d",&chang);2 l6 d" z1 ]/ u3 C
switch (chang)
' P/ D6 j# ~: P0 B2 e{case 1:
7 q) h: I1 G. [- \/ T \/ q, r% a{creat(a);7 K! G% J5 \6 ]/ \6 J1 z
printf("Please int the search number:\n");; K" o2 {7 Q+ z
scanf("%d",&x);0 j8 r" q1 @, F6 y [. @! w# `1 b: T
printf("The number station is:%d\n",search(a,N,x));* H- P& W8 {' L1 S; v# T# h8 y
goto aga;
0 M8 a s& ]6 M4 O}! k+ M% F0 n" v2 c- V
case 2:
' u9 A' z7 N. b, w) z{ creat(a);% x- S& ?& l2 @3 H! Q9 T5 K- ~2 P
insertsort(a);
$ Q; [' z; M9 ?/ h+ B( z1 t' eprint(a);
0 j$ J% ?' Q$ p, W5 P( |0 Tprintf("Please int the search number:\n");
/ z5 j6 c6 s G4 escanf("%d",&x);2 @4 S* S& K i. `0 g+ s Q
printf("The number station is:%d\n",halfsearch(a,N,x));
: y, J/ B6 D$ g- Q6 V; a* ~goto aga;
+ E$ D3 r; r% \8 ^& _4 h}% z: k3 w& a8 G! d5 h# F
case 3:
9 t: J* P+ U$ c0 P{creat(a);' c o/ v' z. R4 Y$ Z8 p! G3 l, r
insertsort(a);+ `, \: H. L3 c1 T
print(a);
0 F$ [' U% j6 z$ Vgoto aga;
( d* t1 \2 f7 p- b2 b% H}; s7 t4 F) p; Q& b, [
case 4:
( p# d7 l5 \$ S$ A+ |( `- y8 C{creat(a);
+ R0 W* e3 t# p" z+ l. lmpsort(a);
5 @/ E7 d, E3 y' V- hprint(a);' } [( Q& U0 m, Q) B8 N7 J- G
goto aga;( F7 E# l1 X P& k1 u
}
8 {& n/ q* J( p' ~0 Jcase 5:{ printf("exit!\n");break;}
6 U4 i6 y% f) b" \( o1 c. S0 H7 Qdefault:{printf("Error!\n"); goto aga;}- W9 F; q1 E. x
}9 R4 D6 `+ m) I+ G0 U
}
% j7 t) G3 o% i8 }& M. M1 d0 |1 b4 @
0 F% l& o: G j5 v% M( v) Z |
zan
|