- 在线时间
- 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 7 S8 ~' [0 A8 @1 [% W
#include
5 r% z' Y- E8 S3 c0 `, b4 R3 @#define N 113 U* \3 q7 N1 a" ]* n8 P
/*用**哨查找*/8 B9 h/ `/ W% o3 p4 J1 V
int search(int array[],int n,int k)3 N* G+ ?/ T, ^- R, i: Z5 P
{int i;" T2 j% d" K! w6 E- R8 |: V
i=n-1;
4 h$ Z$ R' N9 P$ P$ x2 e7 Rarray[0]=k;* o) V, s) h# W& J0 i& X5 ]3 l
while(array[i]!=k) i--;
# u. A, N- \+ ^" Freturn(i);! x6 O3 D) K* n. k+ ]+ ]% P
}
3 n" A/ {* \4 J$ d# H) ~/*折半查找法*/
7 d/ @: [/ b3 L0 |/ eint halfsearch(int array[],int n,int k)
! `, }( a) K* N$ s# e3 ?5 m{int i,j,mid;
7 d2 ^- i6 p" K/ ]* G" n" Ni=1;j=n;
e2 s" f/ Q' T/ w3 M: j7 jwhile(i<=j)
: U- ` ] ?! \ I7 v{mid=(i+j)/2;, P. }; x( T \$ g
if(k==array[mid]) return(mid);" q# A9 w7 S4 y5 L4 j+ J# u
else if(k
, w7 B# Q% C9 y6 j( y. t/ Zelse i=mid+1;
6 d; }4 x- K' i}2 ~$ F- |- E+ f
return(0);
0 p& v% |4 }' p. g}& _- N4 ?8 _+ {' `; N/ j* k
/*冒泡排序法*/7 |! J6 G) c( J+ h, ?, D
void mpsort(int array[])
2 y1 \" E1 I" b0 k. H/ q$ m{int i,j,a;
4 k4 O) x# v9 s: K" {: Na=0;
+ s( r; Z, _# |4 D( M1 H" p/ \. Nfor(i=1;i 9 G7 L% _0 H: l* e; m: o9 o
for(j=i+1;j 9 {! c: A9 ^2 G5 m6 R! t
if(array[i]>array[j])
6 ^: M# N# B6 u{a=array[i];; x- T; n5 L6 P" ~' Q
array[i]=array[j];8 C4 ~# j- p/ g) {- \
array[j]=a;}
3 v! t1 l0 m2 V' C+ Q}. j1 m, Y0 G- n: f7 J$ V# p# r$ v d
/*直接插入排序*/
% Y* a( P# l! P, N) ]void insertsort(int array[])* K# u; [' X8 ^" R7 m( R$ R
{int i,j;8 E+ L3 P3 ]# y; j7 J m3 s
for(i=2;i $ u. j* _' A/ I' s7 H0 j
{array[0]=array[i];
8 g. R9 l* v5 |j=i-1;. }5 N" b- ?, z2 g) G
while(array[0]
4 {) n2 K3 j0 Z( s- Y, [ J{array[j+1]=array[j--];
$ f, y/ c9 v0 t) `. Darray[j+1]=array[0];1 z {- V( ^+ r4 L' S
}; r/ q# X8 e( \) P# S0 U4 d i
}! U& L# n# _8 _$ \5 c! }9 v( h
}
: d- {, ?: I) a- r; T0 s/*建立*/7 A- @7 j( M2 r( u' Q B
void creat(int array[])
0 y. w( y5 o# E0 x4 l( Y{int i;, V' Z: V1 |: w) n
printf("enter the array:\n");
; K, V2 ?( {1 n0 G N5 y$ T: Afor(i=1;i
0 `5 L3 Z2 [6 n/ I: Z A; u5 Sscanf("%d",&array[i]);
, I8 }. W# I$ j! e}* ^7 x9 R9 S- }+ ~8 X3 x5 S
/*显示*/) C' Z" ^ C+ E2 a. ?
void print(int array[])
( L/ y9 P4 D( C% F; D' O! e) @- c{int i;
/ B' m) o, ~7 _1 @ _+ f9 vprintf("The numbers after sort is:\n");
' g, K4 I3 S5 c7 O" {" O" Q& R3 \for(i=1;i 8 J. ]- u Q/ q
printf("%d ",array[i]);# J2 [+ `$ }+ T4 g- b
printf("\n");
$ r' p9 H2 v+ z2 b6 b" A}
+ z7 e9 L& `9 A, ]2 B H8 L8 zmain()
, [7 Z, e! _5 w3 @{int a[11],i,x,chang;3 x, a4 g4 ^0 J- ]8 b
/*printf("enter the array\n");
2 ?$ w) g- {% i' Y' Zfor(i=1;i<11;i++): r* y: M- v/ r+ G7 c/ _
scanf("%d",&a[i]);*/
- t# Q$ p7 D. w/ |. e1 {* P7 Y+ Taga:
+ w8 p0 Y' h# R( B. Aprintf("\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");2 R9 V$ J* ]( G ]# z
scanf("%d",&chang);/ f9 _: O: P$ A5 v
switch (chang)& c, W$ S+ x j- I$ U
{case 1:
, H$ p% Z! C2 @. d{creat(a);
. f* H, b6 x4 f1 R9 P. ]printf("Please int the search number:\n");2 ~1 y" {0 z" s- z
scanf("%d",&x);. i8 Y% t0 C0 g: ?# i L: v) K
printf("The number station is:%d\n",search(a,N,x));/ J9 E5 ^, N# q( R1 c0 b; }
goto aga;
' Y5 j2 a2 l* t}
8 m/ N% }2 ]0 @3 Hcase 2:
* t" A3 L4 e5 b, L. [{ creat(a);# f! r3 }4 a p+ Z& U) |: E
insertsort(a);8 M% S E5 ^ j* O$ y
print(a);1 E# E0 l5 G5 X0 k; a1 U) E
printf("Please int the search number:\n");
9 E$ b! [1 ~' a) }) ?0 Escanf("%d",&x);
& a- Y( X& `1 O& ]printf("The number station is:%d\n",halfsearch(a,N,x));0 F0 n; \. V: y4 t* P
goto aga;
5 d+ ~ Y) R8 C" d, k( v}
; s! b7 o8 S3 d) |: q! l4 J$ [/ |7 zcase 3:# H3 F/ {9 }2 j1 B5 |/ w0 U
{creat(a);9 ~6 n9 K+ ?* l8 p$ u
insertsort(a);. S6 {4 ?. x* l7 U4 \9 M: s
print(a);8 d9 s) z; Z3 [+ T: {% a9 V
goto aga;& Y' X8 c1 k0 n9 Y$ f' H1 Y$ Y
}3 X5 b7 K o& J( {- M8 u
case 4:9 a# @3 J$ j2 e6 }* N+ C% v k
{creat(a);4 }) G+ k5 C. L5 @. [! s
mpsort(a); Y5 i, L% P) ^. R U" b
print(a);* s. q4 h) k" r2 K
goto aga;, i0 ~) X7 F$ g' J) L- T
}5 L7 d& L+ J6 ?. }8 e
case 5:{ printf("exit!\n");break;} ]/ J7 I" _+ |: m y
default:{printf("Error!\n"); goto aga;}# z$ M$ k0 a& s9 Y% Y/ S! y
}5 D1 e3 Z5 ]8 T
}
; h3 W# R. s7 }! n) o
9 E, [4 w S7 ^, q* e5 M |
zan
|