- 在线时间
- 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
& T- \# d1 G3 d! l, @( O#include
' y2 p% Y4 K8 G. X; N9 s#define N 11. O7 r& F1 {2 b/ v/ c" y
/*用**哨查找*/
' k c9 b' Q) Rint search(int array[],int n,int k)% M* M9 k* Y7 t( u
{int i;
9 v# y' t& ` n' J5 A. C% l9 A- K) ci=n-1;# v2 r7 h2 ? B& o. C7 `6 l
array[0]=k;$ V; S2 ~2 @3 M% |0 ?0 H
while(array[i]!=k) i--;0 N: q" _# i( I5 E6 P/ W
return(i);
9 X) Z4 H$ d3 E3 d' D/ ^7 i. ~}
$ D/ y# @ ]* ~4 t/*折半查找法*/
( M9 R7 m( |' y$ E5 M2 ^! ~, Gint halfsearch(int array[],int n,int k)
- X( K5 K$ ?' k$ h+ {# D6 u2 u{int i,j,mid;4 k4 K1 Z0 j' K: f+ U& G
i=1;j=n;" U! }* z' z. M) w0 @" [
while(i<=j)) N# M$ J3 _3 X+ ~+ x, q8 F
{mid=(i+j)/2;
; a" A+ ^# d7 ^- \- t2 J& Vif(k==array[mid]) return(mid);% K: B8 k2 Y& f' [
else if(k
, Z. ?$ t) |4 m! F$ w' b, Relse i=mid+1;
, e5 e( ~( Q/ d) t' V}
9 s; [+ q2 S* Mreturn(0); v+ V( U: Y0 L$ w# M* N5 Y; I
}
) m0 w6 Q2 \, g! N4 t* b/*冒泡排序法*/
: g |5 o7 N8 E2 a7 K* Ovoid mpsort(int array[])
- p% O+ V2 {! g- I{int i,j,a;
# j- v# |2 K( Y) Y5 Q) Ia=0;+ ?% Y: r* q' U5 G) a
for(i=1;i b" m& Y5 ] [5 ^% v
for(j=i+1;j
4 E J/ [/ ?. G: U1 Xif(array[i]>array[j])+ R$ G! [' T0 v# A$ U; h3 F
{a=array[i];
- I4 P) S3 g, F; Y7 x. J/ t" u" I% `array[i]=array[j];
9 ^# h+ H9 \" Y! _0 x! Aarray[j]=a;}' A# G' K | G& V5 f- A0 |
}. F0 k; ~ u& ~) L9 ^3 G# E5 x
/*直接插入排序*/ } h2 H4 E+ |+ G" D/ m
void insertsort(int array[])
/ ?6 g0 _1 @: F* ?# M0 O5 Y. U{int i,j;' F! |# G( @& F2 d9 c" n" L# g
for(i=2;i
1 o' T9 k2 k1 c, B1 j{array[0]=array[i];( ~& E8 Y9 f* a) f" L. a* [ U
j=i-1;) q, r; K# W" Q1 Z) r8 _8 M$ f
while(array[0] " N+ v, K4 K6 N4 @: U" ^
{array[j+1]=array[j--];* H. p5 w x9 A' Y2 M% a$ A" W' J
array[j+1]=array[0];( _+ B- ]; y* b5 y3 P: i/ b/ B# C
}
" F. {: A2 y- w) |1 Z6 z}
8 J2 d3 |6 k8 W5 `5 @& {# ]1 \}5 ?# V! h/ J8 M
/*建立*/
@% K! y/ s* k: E/ wvoid creat(int array[]); }" u1 J3 ?8 N
{int i;# S1 Z: ~8 R, R* @# Q0 D3 [
printf("enter the array:\n");
; O$ L, f; ]7 u0 dfor(i=1;i # H/ x( j6 Z4 ]6 T. @( U
scanf("%d",&array[i]);" n& _+ q4 u3 v! D
}7 B/ T9 T# i2 T% }( h
/*显示*/
; K1 I, S' i& M8 C$ Pvoid print(int array[])
4 q+ h! H7 E' N8 R{int i;
" ]1 F) k' p- g+ wprintf("The numbers after sort is:\n"); |/ W) p3 j! T6 w
for(i=1;i " G- v% j: @; r. A2 J
printf("%d ",array[i]);
: T1 K( @/ k' }+ M* lprintf("\n");
. f! ~7 l/ }8 w- t, f}
* P' _3 j7 k, }main()
0 ]( m/ s5 Z* @9 n{int a[11],i,x,chang;
, F( h$ K0 \+ w1 C/*printf("enter the array\n");
! A) M3 R7 Q- Y* N1 _for(i=1;i<11;i++)4 k9 g1 e; D' B5 f+ K6 S
scanf("%d",&a[i]);*/5 e% U" v9 @% c) o+ I
aga:6 a( E% W ]1 J; d& l
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");9 `0 s; @2 \. G' t
scanf("%d",&chang);
9 H0 \) b, D5 E& Wswitch (chang)3 n3 ]3 h: e) F+ C1 b# K5 r( g6 T
{case 1:
: C+ H* f. o$ I{creat(a);
+ Y5 Z7 W' ?7 s+ i, kprintf("Please int the search number:\n");
/ u6 A0 }% W2 C2 n, Kscanf("%d",&x);7 V$ v! M; x& `# ~/ D
printf("The number station is:%d\n",search(a,N,x));
, U9 d3 X; Y" b, V& ?7 E/ Fgoto aga;
0 t, J" ~/ z1 v! ~# F}# Q( E, U1 K: L+ c: i& }5 J% d
case 2:# t4 }6 p5 G" S+ J6 Q
{ creat(a);$ e+ z% x3 T! \
insertsort(a);8 Q+ c. F% h& m* r% [9 ~& B
print(a);! ^3 z4 v1 t0 i0 n3 a! M
printf("Please int the search number:\n");( C* j5 o( [4 k; K( P j
scanf("%d",&x);
3 O! @. c- t+ w7 [. Kprintf("The number station is:%d\n",halfsearch(a,N,x));
. b$ E7 V( T3 I; z9 G9 d+ N* Q* Xgoto aga;
' p& Z/ _$ r+ b# h& j! I$ D p}
1 P! m4 T, X: Acase 3:0 R/ O8 v" e4 q/ ]( m% X6 t
{creat(a);5 U# m6 T, Z8 W3 O' M* a( s6 p2 G
insertsort(a);
: Y! {: ]0 b h' h3 L; k1 P) z1 ?" gprint(a);
9 d9 t# B& n" B, q+ Z0 fgoto aga;6 {* O0 h' o" ~. e& ^. m! ]
}& k6 F) H2 l5 U( z; J/ H( ~; d
case 4:
% H$ d4 O) x8 H- j) k{creat(a);. i8 J3 B, a. F0 Q6 E+ k+ y
mpsort(a);
* ?. r9 V" n9 M, y- K& x% @/ g# oprint(a);
) {. k. @& S$ R8 ~goto aga;& h1 a- H' J" u" o s
}& G4 U' N2 u; x
case 5:{ printf("exit!\n");break;}
! e# X% W; p& R) fdefault:{printf("Error!\n"); goto aga;}* O( n# p- T/ m) a. C! W2 {
}
5 f- n& E5 m8 ] w}/ v% X* h( c; b7 p- W& n+ u
$ u+ R- S+ d$ R1 J. f |
zan
|