- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77449 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27161
- 相册
- 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 # g7 M0 p6 P' s' p" y. s/ D0 Z. ^( R
#include; }: M2 {4 u: I
#define N 11
C' l2 C" s) p# }/*用**哨查找*/
" w5 \6 s; i" ^1 v+ H& M7 Z3 U: Uint search(int array[],int n,int k)
6 F+ l" W, ], W{int i;9 ~$ c+ L z& K8 j
i=n-1;2 A" @. O' |2 i
array[0]=k;- |4 o# y- r$ j0 m
while(array[i]!=k) i--;; V' ^: x/ a" }+ t8 S8 F
return(i);
6 x; R6 D" b6 a. L- |2 u8 j8 D. k}2 s3 M1 o$ U! Y8 l& h6 N
/*折半查找法*/
5 b$ ^2 c$ r+ J$ K; S# \8 nint halfsearch(int array[],int n,int k)
! y* p, Y; X# I# @6 a6 v: F{int i,j,mid;
V+ {3 O/ y+ r$ T2 y" |7 Ei=1;j=n;# Y E$ ?- Q( D0 U/ N* ]# v3 C. A" J7 p
while(i<=j) P; u, _( ]4 J/ c m, R' g7 c2 H
{mid=(i+j)/2;( V% h* e, }7 s! Z
if(k==array[mid]) return(mid);
; x6 s: }3 l: ^& V8 m1 i; p7 kelse if(k
! q* \- g2 ]& s, n Pelse i=mid+1;
1 k3 U# Y1 ]* ?: k0 A) h}! }3 u4 P' c/ T( H' `0 f
return(0);/ A# E6 A# Z( Z W" ?
}
3 |0 W0 h) \+ O5 ]# h/ f2 P: _( L/*冒泡排序法*/
* {& Z* O$ h2 A9 ?$ w: ], L/ P( Kvoid mpsort(int array[])
" l# V$ x3 l& V# r B- g; B( U/ \{int i,j,a;( R. \; _8 c) [
a=0;
# D& H4 Q# u6 e6 {$ ifor(i=1;i
0 h8 o/ @& I5 afor(j=i+1;j
! [0 K3 D! |, | n% L4 i8 Z+ J7 ]if(array[i]>array[j])
0 ~4 l5 ]/ n% K2 V, ^$ z* h{a=array[i];
5 p/ [# X" e$ T( A* ^/ Tarray[i]=array[j];6 [6 V% F0 S" y9 T
array[j]=a;}- F7 }0 i% @2 y6 ] r
} l8 H& | S, g: S- \# P0 B- v
/*直接插入排序*/
' q, q2 b [6 w7 y, Tvoid insertsort(int array[])
; W2 ~/ C7 T! z) M, i{int i,j;
6 U& `9 l" e; j" k: Ifor(i=2;i 6 v0 d# T3 T& |6 n( @1 }) {
{array[0]=array[i];5 U4 }2 n8 Z0 u) ~5 V3 Q* ]
j=i-1;
5 {2 K* m: O7 o% x/ |+ a( O9 Kwhile(array[0]
* J2 ]5 A( l& }{array[j+1]=array[j--];0 \: r# D6 `& M
array[j+1]=array[0];1 Q& w+ k$ a: H" d, S/ y, j- f' r
}
$ E: p! U$ o; M9 J2 L4 ]- f" ~) j}
4 s! V ]) X2 P) K% @7 T! L}
5 A/ B$ B$ Y- l" W; d ^2 y/*建立*/2 g3 r7 Q: a, s0 I2 _& @; ^9 ]; G
void creat(int array[])
. ]& h+ X* o4 w. {7 V) A{int i;
1 R7 T: ^9 W2 }+ Y7 Bprintf("enter the array:\n");5 [/ x, L0 B; G$ P6 s% ^
for(i=1;i ; @* P( a) l. p! Z
scanf("%d",&array[i]);
# y5 u' _. U) O}
F6 ?; l% u3 l7 H! ~3 J; G/*显示*/# t# s9 F+ W- ~
void print(int array[])3 M$ _, C( }! F8 ~6 g7 E
{int i;
$ r) x3 R! X3 i: i" vprintf("The numbers after sort is:\n");
6 [+ @, c% g; r6 ^for(i=1;i 1 m$ e9 _. Q7 l# D: a
printf("%d ",array[i]);2 ]) d1 N- J9 T
printf("\n");
o5 ]& n0 z6 m2 }9 Z}! \9 i5 B4 y, A7 ]: H; m* `
main()
- o, g3 ?9 i; d3 w{int a[11],i,x,chang; p; r. S' |4 d. ~
/*printf("enter the array\n");- |2 \3 c# g" Y2 C
for(i=1;i<11;i++)6 s0 z6 l( R% {8 W" _. E. C" C
scanf("%d",&a[i]);*/
7 I3 Y. `/ f7 Laga:
/ S0 s1 C9 b1 S+ d Bprintf("\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");
# D: l c1 R. s/ Gscanf("%d",&chang);
. A* d- Y6 @9 lswitch (chang)
* @+ @" {& n! Q7 p{case 1:
- M3 q, h' b1 F& Q. \) @5 q{creat(a);, s) h: o3 y: g! @0 X* G
printf("Please int the search number:\n"); |6 c& k- ^% V8 |: M$ [
scanf("%d",&x);
$ U( c, Z, U4 Z' uprintf("The number station is:%d\n",search(a,N,x));
) k% m/ Y! g* @' @7 j o2 b; T3 Egoto aga;; h R/ {5 w1 D, E) q
}+ s& U( {% ?! ~. `/ C4 ~1 `
case 2:
A, P$ t1 H3 V6 y" K3 U% B& m% r. a{ creat(a);% z/ a9 W7 f8 L9 S5 v$ Y% u
insertsort(a);
9 i" W$ S: r" n' {7 O, Nprint(a);
9 o& |, E* ]6 R$ d5 hprintf("Please int the search number:\n");% R6 M0 i5 j: t% E/ H
scanf("%d",&x);
9 @ o# P4 y/ S) x. Z" G# gprintf("The number station is:%d\n",halfsearch(a,N,x));( I9 J! Y+ ?- v7 |& G5 x
goto aga;7 t9 L* T% L& j) H3 }- f: }
}
; _+ a% ^$ q1 t# Ycase 3:1 J* k6 u% K$ G( P( ^, K& l/ u
{creat(a);! n! b$ H& k2 g( i- K* \. u
insertsort(a);
4 r- N) g5 x6 Y) Xprint(a);( P4 }! Q ?( ~% {# X
goto aga;& T8 W; B& h1 U% f+ Z3 y' E L
}( i/ F# z6 D; S) I `
case 4:" }( b& B8 Z1 y7 e6 ^
{creat(a);5 f$ x+ C' B9 h. }! u2 K
mpsort(a);
) J: [; _9 N! C3 cprint(a);" x. Y7 k+ \6 M, K* o$ g
goto aga;
: ?% \% j& Z/ [$ i0 @}* X7 E' R& x8 o( w8 W
case 5:{ printf("exit!\n");break;}
. y0 b1 Q( w) {7 W4 odefault:{printf("Error!\n"); goto aga;}8 y0 _' [( A4 n& s7 z# z9 k
}1 O- m" l( H0 U; Z: p, X
}
/ U# X+ O: ~4 T5 C" c" s2 `& K( P5 `) Z7 {7 b0 m
|
zan
|