- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77273 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27108
- 相册
- 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 \ s6 G( b$ V& V. c
#include, Q) }2 D6 N ]+ [8 g8 |( W+ r
#define N 11
+ S5 t7 E$ Y) B# U/*用**哨查找*/
& p% ~+ f3 c$ ^2 x$ |/ |int search(int array[],int n,int k)
7 S# ?! M$ ]* s7 Y+ q4 d2 L- K{int i;, L L1 a- ^9 ` w- |! N. X
i=n-1;
1 |; `) E) ?6 P' ?- \array[0]=k;
+ t+ |' P/ H. M: q2 ]% m" D' u+ _while(array[i]!=k) i--;* A6 C% v& B/ x( P
return(i);
7 h t5 M4 O2 w9 \1 n& L}; O! u+ h6 |' u8 M4 K! i4 G1 V1 G/ P
/*折半查找法*/
0 ?% T% V1 j$ P( n6 w1 l% j# Xint halfsearch(int array[],int n,int k)! ~9 X3 Y: |( l& G" ]6 ^8 R3 G
{int i,j,mid;
: U" y0 s5 g* y8 Ui=1;j=n;
7 s0 B4 u8 V. P, S( j& M0 }, Gwhile(i<=j)
5 V. C/ G" v# y: H$ o{mid=(i+j)/2;
! p: d0 g4 M xif(k==array[mid]) return(mid);+ _6 J+ ]" b5 Y9 |+ Q4 d& X
else if(k / a, o$ ` C* q" W$ s
else i=mid+1;
- R6 |9 Y2 {: Z" v. s* q* b, D. {}% ?4 S" \5 b( K( O' ]
return(0);
% X- }4 L) Y& v}
4 d& @9 f ?& T+ Q+ }3 u6 g/*冒泡排序法*/: A' S6 m8 r! Z. m5 u9 B
void mpsort(int array[])
! [# Z6 k& @# k/ E8 n0 H/ j{int i,j,a;
" Y9 [! [9 E1 Oa=0;6 T# a! R5 U2 f+ L/ A+ a* ?( w
for(i=1;i
1 ?, Q/ m% x" efor(j=i+1;j 9 V: P q% }, \ L& U; R3 C/ [
if(array[i]>array[j])# G4 R0 _$ V# i/ C
{a=array[i];3 h3 E0 Q2 [. i8 o
array[i]=array[j];% z% r h; O& i% a7 ?( e
array[j]=a;}
9 n' S6 X/ C+ n) ]: D}$ c& O7 q' U. `. y' j
/*直接插入排序*/% r1 T4 b$ @& \3 m7 Z* m, y# k- t
void insertsort(int array[])
0 z, a; Z; L6 l{int i,j;
3 T# \: {2 G$ Qfor(i=2;i ) O2 l( x* g- ^# D% ~7 p6 f( {
{array[0]=array[i];6 `1 b) ]( I( Y1 f, F
j=i-1;
+ \1 L' r1 w# @9 Iwhile(array[0] 4 B: j2 N9 Z; c, c# Q) O! O
{array[j+1]=array[j--];
/ j8 v$ j8 w, u6 O; @ Garray[j+1]=array[0];
. ^1 L: Z0 O1 D" Q4 k}( W g- x$ y# A) \, {- X
}/ o+ O/ f5 U; b& x4 }9 t b9 e1 T
}$ Y# H, O$ G: x+ H. c7 v
/*建立*/* U2 }8 ]& ^/ [ U5 Z
void creat(int array[])
- x3 X. [" S) `{int i;3 B7 P' ~/ A, b5 v
printf("enter the array:\n");
# R$ G2 t, u" _% J' y, z; t6 Bfor(i=1;i 9 k( c% V9 ^% m5 `
scanf("%d",&array[i]);, u( s0 }: u+ H9 J# U
}
) b N! a2 @% G5 w" v/*显示*/
% ?- j0 T5 d9 [/ u1 c4 nvoid print(int array[])
0 E4 Z3 F0 [* G6 c! d{int i;6 z8 ?! v# N" f$ g9 [5 z; n
printf("The numbers after sort is:\n");* p+ g0 C% C$ t
for(i=1;i $ x" v& ] i/ b% R
printf("%d ",array[i]);* I0 w% N; e( M. `8 V
printf("\n");; o) T% y7 |0 K3 r2 Q$ t
}7 H0 d) I: F3 y$ A+ b" \
main()
2 R& ]( ?" b5 c" R! a# J, ^# X, L{int a[11],i,x,chang;
# F! E' t9 n' w5 w1 y& n/*printf("enter the array\n");$ h" r& O! r1 R; l
for(i=1;i<11;i++)
- ?) w h& p& w6 A# A {! J: fscanf("%d",&a[i]);*/1 C/ I, q0 s+ R5 ~; G( a+ v
aga:
/ l; m7 N- z" K0 u1 |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");
% t* O1 z( S: s: [( P: A; Uscanf("%d",&chang);
& v' m6 |. G+ T) E1 Mswitch (chang)
+ U- t$ J1 Y$ Z: G4 L4 U{case 1:
9 Y6 ]! _9 U2 I0 D% Z{creat(a);/ N7 s8 T H/ ]9 P
printf("Please int the search number:\n");
% I7 [( e6 ~0 w3 a7 e: Vscanf("%d",&x);3 {. C9 B5 Q2 x, J: g
printf("The number station is:%d\n",search(a,N,x));
+ n! i/ A& H% T3 c% pgoto aga;
$ A+ G1 }: U3 E# d' D% c( q" k}# q0 g4 g/ `! Z! @
case 2:
9 Z" \. d2 x7 G ?{ creat(a);4 F7 Q) j2 ~# u$ |5 w# w4 O
insertsort(a);
5 {) u1 ?: {) E- ~) k$ vprint(a);
$ |2 G5 @4 ~& M+ L6 I p ^- |printf("Please int the search number:\n");
- b) x. m5 P# Jscanf("%d",&x);1 ?/ e' b6 B, B
printf("The number station is:%d\n",halfsearch(a,N,x));) Z0 R# `. N$ g! P4 P
goto aga;8 ~( C8 E9 l- D# g$ m3 l
}9 ?9 C7 e4 T: g& P& L) J5 V+ F
case 3:% V! \) Q# N5 L
{creat(a);
( A" ?+ k7 F7 Rinsertsort(a);
% ]1 e, z" D$ u1 ]/ q! pprint(a);
+ u N% f0 X, X0 Hgoto aga;
9 R8 c9 m4 P/ `}, j+ r: q* f5 H5 B. R
case 4:
) R9 s5 S8 ?" j5 Q: h+ Z{creat(a);
7 D& t" d/ n/ dmpsort(a);
' P1 { S7 b+ G" \ Lprint(a);
9 u( U5 b+ ^1 G0 U& g+ J. R6 Ngoto aga;. @. g8 }% H9 S0 d- J1 d
}
6 s: H8 i! I1 s( }8 c( m1 D2 Scase 5:{ printf("exit!\n");break;}
: _. |2 k* F3 fdefault:{printf("Error!\n"); goto aga;}. W& T V* V: x/ m. _
}
; Q( r5 B4 q; I) |1 V5 N" |$ T4 _}
0 b6 k: I4 {) L# u$ ~/ |6 H0 n. J7 L
|
zan
|