- 在线时间
- 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
3 G! e2 ]8 Z; B% _" t#include9 V4 A; z- k; B$ a8 x
#define N 11; V+ X8 B: O" b1 h# w
/*用**哨查找*/
! P' [7 S8 r4 [- ~int search(int array[],int n,int k)7 a; u+ i; Z: P* a: ~
{int i;9 D3 W* e* x: E/ D
i=n-1;
9 a4 V! Z5 H2 D5 m" f( Barray[0]=k;9 ^5 e2 L# B2 ~$ t
while(array[i]!=k) i--;
& F" r% W- j) X v! Jreturn(i);+ o4 B9 M" u; h1 h) O! x& x$ P" j- G
}
% d* Z f6 j! Z2 V# I# q3 H" M; O/*折半查找法*/8 O, S4 S6 b% ]' {5 M- k3 P
int halfsearch(int array[],int n,int k)( W* V6 b8 z$ ~' I5 b% {3 w8 D
{int i,j,mid;
# E& R+ b6 y, V. |2 Ji=1;j=n;& b9 U0 `9 j* a: a
while(i<=j)1 {$ I9 @( f( j
{mid=(i+j)/2;
/ Y8 G; f1 T7 B8 C1 i5 Bif(k==array[mid]) return(mid);
: ~+ v, s- A: Z/ `+ Y; o( W" E& nelse if(k
; j; x& w, J V3 s, D$ M/ x R' }else i=mid+1;
* K& t( U2 }0 K$ c& S. t8 M}( \# B$ _: P8 h! p2 L
return(0);: x* [" J/ L/ k% D. q- ]
}- x1 v S) @- g
/*冒泡排序法*/
* e3 `) c0 X V) o- g4 y& evoid mpsort(int array[])
; F- O% }* p Z7 m) P) |, R5 ]{int i,j,a;. a% N% v- L6 i0 \6 U: U& V C9 ^
a=0;3 B0 ~9 ^, C3 O2 B: B
for(i=1;i
% B8 E( }- Y% A" n* _% J ^for(j=i+1;j 0 `4 T7 Y7 c' u2 t d* u- v4 j$ E3 E
if(array[i]>array[j])9 r7 L* ?$ e* F5 o( V
{a=array[i];. Y" a) s9 ~- w6 E5 e- g2 D
array[i]=array[j]; f; N7 x. b2 A# x* d. F4 j
array[j]=a;}
/ R. ^9 X3 [- q8 P' c$ O* v}* c- E9 C3 l% n% a& Q! Y
/*直接插入排序*/! y4 y8 v' T/ Q: R% C
void insertsort(int array[])
y5 I* f h( K$ ^8 ?! j2 ~% J) R{int i,j;
$ F3 \ D2 Y; D9 Mfor(i=2;i 6 h2 {+ q* ?- d7 r3 |( a4 p
{array[0]=array[i];
! p+ J/ S" ?+ y5 T2 Xj=i-1;9 |( X: B! E/ m3 J3 a
while(array[0] 2 j' _5 y9 y! K4 S1 j$ U
{array[j+1]=array[j--];. J8 D9 G' _# l3 f" B
array[j+1]=array[0];- Z1 _3 _. D4 { _" W0 C
}
& V: u- K4 {8 f; T2 b6 Z" h9 f}
" B4 }- H2 J1 r* D* F' d}
7 i* x O; w5 N4 ~0 x+ o/*建立*/6 z; F6 {# O' v( f
void creat(int array[])% `) ?2 ?9 f* a
{int i;9 O. d& H5 }2 R* [! E
printf("enter the array:\n");. z6 q( b. e( ?! ?
for(i=1;i
% T' i8 x+ T, C& m0 pscanf("%d",&array[i]);7 v! ], }/ Q9 N& B0 R% |& ~4 L$ y
}9 U. F6 j2 Z) }5 i* V
/*显示*/
% A% N' g* O# b& lvoid print(int array[])
8 c' c7 j9 h6 ]( Y2 }{int i;
" `' V5 Z g/ pprintf("The numbers after sort is:\n");
, ?" D3 S$ y9 Q# k+ R, tfor(i=1;i , F/ v6 Y, R5 S9 C( t2 ]6 v
printf("%d ",array[i]);
: I/ m/ I6 h dprintf("\n"); ^) n0 j$ F( i7 _
}
y: C/ L: d3 n" p+ \- c$ ]- _main()
6 d& A, C* X6 e, }4 M5 q{int a[11],i,x,chang;* i) d' b) `0 B
/*printf("enter the array\n");5 c9 O3 f$ ?9 K( m& Z0 \# D
for(i=1;i<11;i++)- T+ [9 D" `2 o' v+ q7 K# E; q
scanf("%d",&a[i]);*/8 \6 R1 M v; [' }( M4 I% S
aga:
! U, c4 F; {( ^3 K9 ]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");" N0 J& P0 J: {2 v
scanf("%d",&chang);
# o9 I7 Q. \$ J9 x) qswitch (chang)+ d$ K0 p6 f, u @+ n2 g
{case 1:
I |( M1 |, q" K, x7 n; m{creat(a);0 L# J6 j; J+ G/ W. M7 T# c! M' z( Z" }
printf("Please int the search number:\n");
! _- H7 g3 B1 {: P0 V' Q) p: d( f# Zscanf("%d",&x);' o: h; z7 ]# T
printf("The number station is:%d\n",search(a,N,x));( H" b1 k; @& d7 |+ ^
goto aga;
; h7 A0 w) d. S6 x* b% S! O/ [}5 s. _$ o, @1 a9 z5 {+ o0 |
case 2:! ?5 s% B3 V' C# m) X
{ creat(a);
8 `6 |0 v8 ?$ E3 Q& {; g. {7 Tinsertsort(a);
! F# T2 N# b: t% J) J( Cprint(a);
1 a* F+ X- S' d9 g2 V% h( rprintf("Please int the search number:\n");
) q5 ^* h6 ^, [/ }& S |; uscanf("%d",&x);
8 A6 h3 ?: n8 {% b G* vprintf("The number station is:%d\n",halfsearch(a,N,x));# o% u. M, K+ r1 O* H* j
goto aga;' C. e. t1 p% T' P7 I8 D3 d7 L1 Y
}: L+ V U3 Y) G2 v" E
case 3: O- R% A. B) E4 t- h! f
{creat(a);
- B% H- k8 R, u" h7 ~2 C% x2 y1 c. Z! Qinsertsort(a);+ x! k; m/ o% w- w4 }$ h
print(a);
! V& W3 g8 S* i8 V' c9 B' {# _0 _goto aga;
. @( l4 @2 H, {3 p# [# J}
3 `! ]& W8 H1 \case 4:
4 \. b. b+ |% j, D8 e{creat(a);
4 E8 t9 z/ m8 e' y& m2 ompsort(a); b" J4 E c3 X& h6 U
print(a);) ^0 }, G$ U0 W# F! m0 l1 q" p# {
goto aga;+ m- }) p2 i* p( ]% ?3 G% z
}" r) C1 [% l6 f1 X6 Y: i
case 5:{ printf("exit!\n");break;}9 P: v" x8 C3 u1 _- }8 K% M
default:{printf("Error!\n"); goto aga;}
; N+ \7 C* Y2 k+ s# ?; A}
% Y1 D% N+ x! M7 E}, w' V- s3 A+ ^
$ l( l6 X& o/ u |
zan
|