- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77548 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27191
- 相册
- 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 $ j' C( d( {- {/ T1 ?, J2 t }
#include
' ]. @8 i R: C- ? @% S#define N 11/ X3 _, u# E# e; m8 j0 p
/*用**哨查找*/
' N2 z" V+ A$ eint search(int array[],int n,int k)
6 _0 A; P' \% \" u `# v/ `{int i;
) ^3 k8 c P6 ~( p, W3 A( I, ti=n-1;" m8 R! b8 a* r; ^ d( Y/ k2 m6 v
array[0]=k;( P; o4 s9 P0 n2 d! w
while(array[i]!=k) i--;
! r. t6 H0 ?0 a% N# B1 `/ r5 }return(i);
, }: y% {/ E p8 m W4 o}- K" @+ {/ `% @2 C* D; s: U
/*折半查找法*/
: |0 a$ h, @ E! H. x7 yint halfsearch(int array[],int n,int k)
4 S2 _% P8 ]; Y& Q Y3 {/ A, q{int i,j,mid;8 b. d0 r& @( N" n# b3 `
i=1;j=n;
' L5 y% ^5 w+ O6 pwhile(i<=j)
0 u5 K% j( @# g* H/ N{mid=(i+j)/2;
0 W, u) X" c8 W, b9 Jif(k==array[mid]) return(mid);
- H% ~, b& ^$ P0 m5 x, O9 t6 ielse if(k
% c. T/ a! a2 E! gelse i=mid+1;
- O$ }4 P* N/ i5 j" F/ E1 S}; Z6 }2 C% H8 ?5 s' ~$ \
return(0);+ h( l5 W, P* x+ K( {+ y
}
$ L: ?* D. s3 M: T0 F* K- I/*冒泡排序法*/7 ]) @1 ^% y+ R2 u1 O" y- c% I
void mpsort(int array[])7 I3 W: ^8 Q0 j2 u6 j8 X
{int i,j,a;
/ t# @4 d }2 |7 x& q+ F; @/ _a=0;
* G C) l" l" A) q9 k3 ufor(i=1;i
/ g/ i+ d5 ? ?. \7 w2 nfor(j=i+1;j
0 z% {0 S% }/ O- ]if(array[i]>array[j])$ P8 z! q. X$ g7 ^# a- e! |4 U( c
{a=array[i];
* s4 g7 X- I8 n7 C* T O/ E4 [array[i]=array[j];
6 [, A7 [$ t4 \2 C) [* Q tarray[j]=a;}
# ]; J: @9 J$ x* p. H9 a}
/ C+ x+ m, f ?) O/*直接插入排序*/7 T$ J/ D4 W* G0 Z
void insertsort(int array[])
& L, r3 @. _; o5 C{int i,j;' y E% c( G' y$ s( Z
for(i=2;i
D: i- ^: [7 R1 r, {2 ^{array[0]=array[i];! G3 E& k* G! ^/ s. D% y9 m6 S6 g
j=i-1;3 S. T9 M: a. p$ \
while(array[0] / l3 q4 x- t4 o( a& `& s' _7 k% `
{array[j+1]=array[j--];
/ r: [' T* @9 y) x5 G7 |array[j+1]=array[0];
- A) {7 e: m6 `5 o+ F1 V) t% {% \}
4 H, r& z7 M1 ?2 y}
0 j2 y& U! Z6 }7 B3 ?& O}
. E o% G# @! m( r/*建立*/
* u6 ^! b: O. E" ^% I; d/ wvoid creat(int array[]); _8 g3 L( q( h* F3 v3 o
{int i;+ H! t4 R; t" |
printf("enter the array:\n");
# o* E o7 H! [2 s* v- a+ Z. ~for(i=1;i
' m3 |; H' n0 Nscanf("%d",&array[i]);
+ ]- {4 }# D, f8 G4 e. _}
! f; u5 I0 A0 Q% {0 L$ f3 u* B8 X/*显示*/7 e3 N- l8 h9 {7 o; U, @+ @2 [" |
void print(int array[])
6 S9 I2 w% t. R8 c! n- f{int i;
1 ^) M8 F. V( ~3 T- ]+ R1 cprintf("The numbers after sort is:\n");8 p9 Z2 L; a5 K: S$ W3 Z
for(i=1;i 4 f7 G( ^$ n/ b$ u" L
printf("%d ",array[i]);
+ [* W! T6 I! x: h; f Y3 Oprintf("\n");
7 J( [* X$ r' a! F' {: p}, t, K$ v' G E/ z& ~! L% l1 I8 F
main()
. Q9 X$ K6 p1 w/ f{int a[11],i,x,chang;/ p+ @ J1 a9 r0 Z- @3 x8 l
/*printf("enter the array\n"); _. J& _9 S/ E$ r) ?
for(i=1;i<11;i++)
9 F, D8 |6 \; G8 |scanf("%d",&a[i]);*/
6 m d9 i; V9 D! Vaga:. V: Q( I @) E" }5 k, `. M( Y% J
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");
. M& h. o. \0 N) E" Y( Z iscanf("%d",&chang);) V0 }: o+ T/ E3 Q* c" ~
switch (chang)1 d& S7 k8 {5 C2 E" U
{case 1:
0 B9 X s( @! K1 q{creat(a);
1 G* G% o- x) c' B. J6 X8 T: ?printf("Please int the search number:\n");8 W7 h9 i7 Z8 @- N% h1 m: X- ^+ a
scanf("%d",&x);. B0 p; \& `& Q* \: X5 v- V
printf("The number station is:%d\n",search(a,N,x));: l. ]- G# ]" |0 w
goto aga;$ U# a: k2 E: B. C& u
}
7 I% i6 L6 X* x. ?0 Jcase 2:
$ T/ l7 _/ F9 P{ creat(a);
5 d) D2 P6 D w8 V, D2 e$ ~0 Kinsertsort(a);& w% l0 `9 E' c3 r- p
print(a); G+ c8 M& N# z; Q$ c( D% Y J% n
printf("Please int the search number:\n");
$ a8 C( `0 {$ r& N' n6 p* {scanf("%d",&x);7 A8 i; K0 ~0 @9 |' F, l+ V
printf("The number station is:%d\n",halfsearch(a,N,x));( ^8 r! M% k( `) ?
goto aga;
- s0 |# Q' Z/ ]! x/ ], q& w9 Q}
" r* D( @, O8 h1 g% Ocase 3: z% c# D8 U0 z( ^0 p( ^' W' q1 P* n
{creat(a);
, k' s" x! ~2 o% E5 s Ninsertsort(a);- M' p, t7 s6 ~& S) K: z
print(a);
$ n. C5 @' y: t% [; C ~goto aga;# l6 Y# u0 l% w0 g L2 T
}+ F0 R) }( [% C3 \
case 4:" k) t8 y8 ]- X& |5 ]
{creat(a);
/ H, u( `, |/ w( w' @5 G5 d% ]' nmpsort(a);
4 C" {- Z5 a- e+ h4 sprint(a);
: g' R* M# y2 L) E6 Rgoto aga;9 c* L0 y: n; R6 V! [6 a, D
}8 b2 f$ S$ z( H# k
case 5:{ printf("exit!\n");break;}& X8 m+ c% w' o: ~' i2 b
default:{printf("Error!\n"); goto aga;}
( g7 \# \3 F# h# q}
$ l; i3 Y! B$ I( r}* U4 Z8 x8 C" `* G) U' c
4 b$ |2 E6 s/ m \0 V
|
zan
|