- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77348 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27131
- 相册
- 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
8 X5 n5 t0 s# U#include5 c9 K& K D9 q
#define N 11
0 v) k6 Y2 ]! B/*用**哨查找*/
i/ g8 r' V" y2 w' {int search(int array[],int n,int k)9 R3 t# l) l- A) Q: N
{int i;" L! U2 f" a) t% T- F4 ^. d
i=n-1;
6 a' S5 I8 M7 }, v% I! T8 s7 W4 oarray[0]=k;% G8 s7 j9 J( U; v6 @# s
while(array[i]!=k) i--;3 e4 V+ n1 j) Q0 k% @9 i
return(i);% c7 z/ Q4 ]5 r
}
7 U: l# U' D, R6 A9 h: g' ?5 C/*折半查找法*/
9 w0 K/ v; T& t' sint halfsearch(int array[],int n,int k)$ A' h' y6 N$ b4 f) q! j
{int i,j,mid;
! O" r$ }0 E6 g/ Mi=1;j=n;
4 u, O) K% J" A" S) Bwhile(i<=j)) I- M7 _8 g7 ` J
{mid=(i+j)/2;0 G( a- \- t/ }7 K7 S; C
if(k==array[mid]) return(mid);
( z X) ~- W$ I1 o2 ?( y9 E. \else if(k
6 n: c# q3 I7 Z) j, e7 `else i=mid+1;- e9 f+ v: f0 y
}7 d' o$ P; w+ M5 V, u! e! B4 e
return(0);9 _1 ^: u1 g' N+ L) f7 H
}8 P" Y8 b, I/ f( A$ z1 \
/*冒泡排序法*/
$ x3 \) m/ `$ \- o* Cvoid mpsort(int array[])8 G8 Y. e$ F/ F. H6 v4 n" c7 T7 E
{int i,j,a;# q% c' F9 Y6 q# n& L( t
a=0;
1 W( I+ |7 R0 K5 T# sfor(i=1;i
& o. J: u) r8 h- L) P$ J( \for(j=i+1;j
1 n) U( g: N6 U" b* Zif(array[i]>array[j]) A m9 |' U- e/ T4 i( x9 ]1 t
{a=array[i];3 R2 B! c" u( A# Z# {# T8 B% H
array[i]=array[j];
9 Y+ N8 q' [/ h2 @( t- z* Darray[j]=a;}
" p# R5 i- X. R1 n2 d5 q% O}/ t S; a# ^) X9 L3 y
/*直接插入排序*/" |9 O& m; K W5 ]* t
void insertsort(int array[])9 ~% O/ M4 ~( D' K9 c Z( T! T
{int i,j;% E4 e+ P5 g& V+ V: O) I9 L
for(i=2;i
- [# Y5 {) s* S9 F: u. c{array[0]=array[i];" E+ s+ P& h! d) S' u( y
j=i-1;
4 i, K, t8 l9 O. P8 a, P9 @- ]) S$ owhile(array[0] 1 w; c8 t! M7 a5 r8 j# z
{array[j+1]=array[j--];
; P, W- e }8 W' R8 F2 S; ]& Iarray[j+1]=array[0]; ?5 M" |& W% `( X6 b" F
}
9 k! u) O- w6 B) V& l5 k}
$ S6 l! A5 i9 z# B}
, ?" \' h0 p) M- o/*建立*/
2 n: z+ m ]- p2 N0 g( P; ?5 qvoid creat(int array[])! l5 v T) r" F2 l4 b# E, d
{int i;
8 W1 I, h8 ]3 m9 \4 k9 Yprintf("enter the array:\n");
9 ^7 U: W9 e9 Nfor(i=1;i * w# C: |0 b) n! d: z$ `- _+ t* ^0 X
scanf("%d",&array[i]); [4 F. @, j6 N( w1 q
}/ W _! t8 h9 N4 _% P' l! A
/*显示*/+ g% E3 Z0 o; D1 l' b6 G9 o
void print(int array[])% w' G( \; ^6 X+ q
{int i;
1 ?+ j; b. F( u# fprintf("The numbers after sort is:\n");. t* M# I) p5 E2 G8 }0 T
for(i=1;i
1 H! g" E# s* a, x, j9 P# {printf("%d ",array[i]); i) V: A& A4 K3 ]
printf("\n");! a; k3 M; h( N$ D8 E/ s) m. i( @
}
# U/ f, D0 U) h; [+ Y6 y7 A6 p. a1 cmain()
- K2 O7 }! J% S# l6 w/ q{int a[11],i,x,chang;: R) K& h6 k' }5 J$ @
/*printf("enter the array\n");
; K7 K4 q. J. i; Ffor(i=1;i<11;i++)
' ~: A4 u* r* }, X) yscanf("%d",&a[i]);*/8 U" C7 M) ^* _0 L
aga:6 Z7 j9 ]# ^ u( j1 \, W
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");* m5 @( _, ?: D( ~ u7 @
scanf("%d",&chang);8 _# A4 z& L7 g y
switch (chang)
2 Z& N& p& P6 T. G( X5 n+ {{case 1:
. X2 [2 J& d4 o5 ]/ o{creat(a);/ R5 S4 b7 x z% P: n
printf("Please int the search number:\n");
3 e1 o! y3 e& }+ P6 d! r: pscanf("%d",&x);
' g: r& H: |& G3 e5 Z& c( lprintf("The number station is:%d\n",search(a,N,x));
8 i) d4 `2 b1 M9 h Kgoto aga;
! j% A( b. c7 |$ `0 _}( `- W% ?+ v4 C9 U6 W
case 2:
/ t$ E) r% D$ [! w7 |) ?( N9 O+ b{ creat(a);
+ ~3 p$ r# V0 P, N. I% kinsertsort(a);# x7 k! |* Y" ?$ O( W- \5 \
print(a);( m2 l( c, |- o1 ~! \7 w
printf("Please int the search number:\n");
6 i x* o! \' p1 D+ ^& Hscanf("%d",&x);
: l, M5 |9 L Z7 _. jprintf("The number station is:%d\n",halfsearch(a,N,x));$ m: O0 Q$ L$ S$ n9 k% h4 d7 S
goto aga;4 |9 ?, _+ V) K6 t H2 q* ]: e
}
3 L( L& h& ]7 i: gcase 3:
) P1 ~% s/ i; F, A: ]3 y3 j# W{creat(a);
) { s0 k* Y2 m. _+ o% Oinsertsort(a);
/ B4 x$ p) F1 h, e+ ~2 f( ^: w& Vprint(a);
: u2 h6 ?7 r5 Agoto aga;
' k% ]) c. X( P, a2 ~}
% E+ E6 K: M1 \7 R0 N( b9 fcase 4:; ]+ T ?# t" v$ `2 {" e% c0 U
{creat(a);8 ?2 w) |& m( x6 l1 A" e
mpsort(a);
* x5 u6 `* s' \5 {" \print(a);
. s1 }( J, u: x3 D, vgoto aga;( C3 A6 X/ w; X& U7 [& u
}$ z1 l. H/ V$ z* }. {" [% L
case 5:{ printf("exit!\n");break;}
% z+ V, k, j1 _, f! N' |" \default:{printf("Error!\n"); goto aga;}
1 {/ m, L2 K: R3 ^}
: z# w1 H- E; `9 m: L' @* E}( G( D8 B7 k- q
/ h: {- t2 H. L- O+ N8 l9 ?/ \" {
|
zan
|