- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77451 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27162
- 相册
- 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 Q9 }; S+ ~' E4 Q$ Y i#include
1 Y% ^5 P# ?8 b0 ]2 A# W#define N 11
- T! U$ |1 n: g* ?! \( d- S R/ E/*用**哨查找*/
2 X4 E& J+ a# xint search(int array[],int n,int k)
9 e% T% Y& p* U{int i;7 Z' M5 X; |: Y# q; I5 h) ~$ D0 W/ `+ |& }
i=n-1;: r5 W7 b2 G8 w# C5 _5 V5 I
array[0]=k;
0 ?% a" n7 I9 ^8 r! Fwhile(array[i]!=k) i--;
* L4 B/ d8 _- D7 Y0 P2 mreturn(i);
* S" |- p# r5 s}* I2 B% L- i5 B; O l* w% P, o" t
/*折半查找法*/6 s$ e# z& ^8 i1 f0 h3 o
int halfsearch(int array[],int n,int k)
+ @8 d# B3 X. [$ `8 z M{int i,j,mid;
6 B1 `4 a4 X1 [# v1 s8 \i=1;j=n;
1 c) ^; S5 _5 s7 @# K7 Qwhile(i<=j)- ^9 U: y* V% X! U, t3 L1 P( n
{mid=(i+j)/2;4 W; b- \, F( O+ {8 G3 U# a7 J
if(k==array[mid]) return(mid);
( n2 W. I# V7 M* c) |- ? U1 }else if(k * |8 p J& l5 {; g
else i=mid+1; R2 L# z7 G v# @# S" r
}0 ?' \& m" L/ c2 X: A
return(0);$ T" }# y! \+ q0 Q* A2 h
}
* V& C/ L: S" y4 `: \/*冒泡排序法*/3 u* Y$ ~0 f- _( y2 }( i$ R
void mpsort(int array[])
/ v: {( o. h u/ |{int i,j,a;+ }" W% a9 E8 v" o3 i% k
a=0;0 }, v- M, K9 h
for(i=1;i
! P2 q. E' K: G: z4 ifor(j=i+1;j
9 I& Z8 T7 g+ w0 Jif(array[i]>array[j])" V! \9 j& U7 U; z9 I
{a=array[i];
4 {- `! U/ Z& ]- v9 k+ q" P7 r) g- f2 Oarray[i]=array[j];( I% _1 D3 c0 a$ g6 m( y8 H
array[j]=a;}3 C/ p! A$ c( m$ [% i8 D3 r- Q
}; L+ u. V: K: ]# C) a
/*直接插入排序*/
. ?) P! \& V7 C# }6 l" C5 \void insertsort(int array[])9 h; T# w% @. B& T: M+ U
{int i,j;4 c3 r/ u6 a* t
for(i=2;i
7 r- U5 b/ U+ ^& O$ B{array[0]=array[i];) a# `9 E# y: `* _# g: W y( j* ~
j=i-1;
$ L1 k* w, F! K! Awhile(array[0] * P( b- k% W* j
{array[j+1]=array[j--];
( L2 Z: T( I1 [4 r1 y* Y- b* larray[j+1]=array[0];" ?' _, Y- n0 s5 q. t1 H1 P9 C
}
1 ]" L1 z2 o9 C5 n* J4 G}
/ h7 o( F3 M" i9 T3 `- w}1 p3 x) W$ [0 k4 |9 G8 L) S
/*建立*/
1 h s* |/ u" G. H. Jvoid creat(int array[]): G* e" @) k3 r/ N5 T5 R8 V; t
{int i;! x, y0 D# l& u- @: V! m
printf("enter the array:\n");
7 F% p0 S! {3 J4 M: {for(i=1;i " e/ y9 W) F9 \' X# V7 i
scanf("%d",&array[i]);" G0 I* Q7 u( P ?% b" r+ m
}
3 j+ M# y S( s: @- k/*显示*/
0 \5 V8 }8 [% V0 `) pvoid print(int array[])
; l1 w/ f! w9 X, j{int i;
0 N' H/ ` ^4 s) _! v1 Yprintf("The numbers after sort is:\n"); e1 ]/ O) Z! t* F
for(i=1;i
9 S/ a5 J6 i/ \4 ]1 Kprintf("%d ",array[i]);$ c. M d$ I2 l0 ^
printf("\n");
4 `$ S9 j1 \7 Q- w}9 s# j* L, U5 X# H3 c( G" e
main(); a7 s, P! v" @- D, }
{int a[11],i,x,chang; j1 z6 Q$ g0 G. V3 i- |- R' Y
/*printf("enter the array\n");% q. `' {8 H. \
for(i=1;i<11;i++)
# z; o5 P: R% l. s0 T+ m* zscanf("%d",&a[i]);*/
& [* @# N# \/ Maga:
0 U! L. n0 [: W7 _9 K' N7 Z8 _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 F$ T7 o4 l* pscanf("%d",&chang);' @ r) W9 r+ I) Z$ _/ m
switch (chang)/ h! e3 W8 ~- O4 h/ W' U' o
{case 1:
/ Z5 @7 q. `6 J* a; g{creat(a);
# ]( z! A* }& e* {# o) jprintf("Please int the search number:\n");
, A( j( o* ~0 m- R6 ?& ]/ U& nscanf("%d",&x);
0 K T. Z4 A/ Sprintf("The number station is:%d\n",search(a,N,x));! S7 w: s2 v2 p3 o5 L9 ?- ^' P
goto aga;
/ ]. v6 @# o0 R+ J7 n}0 ]& A* B# o: s8 i; y+ w
case 2:
, q* ]" S0 E; @' E{ creat(a);
! n' N3 {( a% J. l+ [0 jinsertsort(a); v" c$ V8 m7 n5 b6 _
print(a);
+ k# @5 p& M& g" c* J* [5 Rprintf("Please int the search number:\n");
. h7 ?3 U# {0 H. A' `scanf("%d",&x);" k7 m" ~4 p7 N: Y) t
printf("The number station is:%d\n",halfsearch(a,N,x));/ }' G. A7 R- M9 x1 G- ~
goto aga;
. W2 D \ T6 a2 N9 r}7 y/ k2 v q7 p
case 3:
8 V" ~8 C% g$ i. q( o" L{creat(a);+ ~+ m6 d% N- ^; R! X% G
insertsort(a);6 L4 `( Y, o! N& L4 [. g
print(a);7 z9 F5 J+ Z3 }) M
goto aga;, L a# v8 f. p- n: l/ ?
}
( D* t" i3 @3 ~4 zcase 4:
0 g" a7 X( a/ m( X' G7 W/ Y) f2 o% [{creat(a);
- B9 R ?3 s$ Rmpsort(a);
! V: x. O0 z/ |% Uprint(a);, `3 J2 K7 B9 U
goto aga;; y' [/ Y4 R1 q- ]3 W
}
4 c# |( ?( `& c& {case 5:{ printf("exit!\n");break;}
8 F( T7 R; N& H: q# g2 fdefault:{printf("Error!\n"); goto aga;}
3 y: O" ^2 i L}0 k# A' A; B' k! m. E* E; K$ {
}
9 @9 x+ S/ w0 G: X$ E/ v6 d6 T7 L' j$ e3 K
|
zan
|