- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77004 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27027
- 相册
- 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
+ J( B. {7 D5 N' H X: k- P1 w+ V#include3 R& e" A8 L$ f7 s4 Q
#define N 11) O% U) F' A2 Z7 Z+ i
/*用**哨查找*/
6 t+ Q9 Z5 N' a1 J7 e+ t9 L+ iint search(int array[],int n,int k)7 u1 Z, R9 L z; K
{int i;
- i" \$ E1 A. _' ti=n-1;8 {) t3 @( ^5 d! H% e* [. X5 U' \
array[0]=k;
/ Q c2 q0 z1 fwhile(array[i]!=k) i--;; p; m5 L1 W6 |1 T/ B' ]* z+ U
return(i);
0 A, f2 _, x" Y: U4 ]' Z" p- i}/ F) o" ~. @! Y
/*折半查找法*/
, o" i/ L8 f/ h7 Xint halfsearch(int array[],int n,int k)
$ Z! G3 Z$ A! U/ z9 e' }' R; {{int i,j,mid;
% M0 [9 e2 s4 t. e+ k3 M2 _i=1;j=n;
4 T+ }0 R1 |# u8 c) G2 ~. iwhile(i<=j)9 G2 i6 K% Q6 H' w a) R! q8 Z
{mid=(i+j)/2;- H! M! }( d' I) c! |% _3 N
if(k==array[mid]) return(mid);5 c( e' ] b! d( j4 V1 Y6 S
else if(k 4 f- _9 L& b$ q; |& Z1 y
else i=mid+1;4 r9 N1 n. q' V
}
" d* M1 p; C, O9 l) Y m: [return(0);
, Z% z6 W3 r0 I7 J% g}, L' Q: K! I7 v# o7 z
/*冒泡排序法*/8 y* Q5 H8 D9 S# i, r ], k
void mpsort(int array[])
+ k5 C# W! I, {7 X& q+ N$ A{int i,j,a;
) ~9 i+ d' K* \6 e, o" R' j9 P6 e. Ya=0;
9 ^# i$ _3 y( Vfor(i=1;i
/ m/ H3 `; w5 Cfor(j=i+1;j ) z( q* p+ Q- x# n1 d, r. _ d
if(array[i]>array[j])
C0 q7 }4 l) M* J{a=array[i];( _2 |$ A& G3 s+ R; c! p6 z8 H' h
array[i]=array[j];
& K; T5 y& Y$ I2 \4 o* ?5 M9 Garray[j]=a;}
, J' g) e) H5 v5 Q}
) a5 ]7 g% C! O) F/*直接插入排序*/
# k$ K3 }! A: @, x; vvoid insertsort(int array[])# Z7 k4 _9 G* k" u- \9 ]
{int i,j;
% S+ I* P. E# |: i5 F) Lfor(i=2;i
( \* n8 e T) V$ L2 i" g{array[0]=array[i];1 d' n* v4 u( T# I
j=i-1;
6 u5 S' L; P& Pwhile(array[0] * M5 `0 d' a/ P
{array[j+1]=array[j--];
. |/ J7 r. t3 R5 d9 F1 ^. Rarray[j+1]=array[0];
U& a. U1 o2 q% `( ]5 G}
" R% x1 v! M: E1 Z( K! J5 V# U+ n}1 b& j! x: @& r5 y6 M$ z3 E$ C9 P
} u5 `4 [$ f1 o8 }7 i8 \, l% w$ k
/*建立*/; J- j. k* O- I: b& w
void creat(int array[])
7 E- M* V1 d3 n$ @* {{int i;
1 n5 q/ L# a7 W. j9 U* y8 }printf("enter the array:\n");" g- g7 N0 U3 q
for(i=1;i ! I3 [4 U2 O) k* c* }/ j# N. R: F
scanf("%d",&array[i]);
1 b6 W3 n' o- z6 w( y ^$ S}# r; u- S2 L. d- E! K
/*显示*/8 o/ N, x8 q. y7 J
void print(int array[])0 |) L, w/ N' a; n+ G
{int i;1 X, _% M5 j! a, y9 @& Z
printf("The numbers after sort is:\n");
6 T' G+ v' R9 B0 i4 Y# Mfor(i=1;i 3 k, C2 \, n6 W/ D' |2 U: i
printf("%d ",array[i]);
$ i- {4 k$ H- qprintf("\n");
: o1 ]0 U* F" K L9 i}" t% }; u6 d" J8 i* J K% W
main()& @$ w9 `& ]9 k; S
{int a[11],i,x,chang;% J t0 [/ G e3 F8 M% S" {8 j
/*printf("enter the array\n");
9 j- G7 r. m( k+ V9 Q/ ~9 ~0 }for(i=1;i<11;i++)
# Z7 s) J7 K* _, E) Zscanf("%d",&a[i]);*/ l9 N) x r2 M* f% Q5 r6 n* G
aga:
* k! Z) Y5 E6 D: fprintf("\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");
( H. [) h6 |) Q+ l* Z8 bscanf("%d",&chang);: Z$ @5 r3 v5 I. f& g% I1 y2 _
switch (chang)
3 P1 S- ~& s: z+ l# ]! x{case 1:" O) n" _* k/ ` m8 T
{creat(a);
& s& {! W& {/ h( |5 J0 i& n+ rprintf("Please int the search number:\n");* o, M) o3 X) `" Q5 Z* b- z/ y' ^
scanf("%d",&x);
4 |3 q( n( j) B1 y% r0 U6 {printf("The number station is:%d\n",search(a,N,x));+ S [7 \2 T1 ^! ^
goto aga;" }6 r6 o" @' U( f
}6 B/ s0 t& [! ^8 [4 E
case 2:
6 J& |3 ?. M/ J{ creat(a);0 [/ \3 ~: n5 y5 t
insertsort(a);3 a# _ |! u- V# \6 J4 u( k5 M
print(a);6 [2 z1 g2 i0 M
printf("Please int the search number:\n");
/ ]3 v. z1 n5 P3 b4 u( Yscanf("%d",&x);' C& |4 s1 N. M! ~; |
printf("The number station is:%d\n",halfsearch(a,N,x));0 }( v: D8 M. g
goto aga;1 k7 ~# I* S. a) f: R/ r1 @
}
. P" G% L, R( \case 3:4 F8 ~0 [$ V, u$ p1 L0 \
{creat(a);% X/ ~' V% v$ X2 L: O* K0 P9 k
insertsort(a);3 x& C+ s5 H9 r( u8 F! l
print(a);6 B! O6 Z4 R$ h% s, f5 ^
goto aga;* K0 {. Y& W1 Y5 {& n8 j- O+ F
}
3 s$ k* `6 @* R( m, }% }" dcase 4:1 q& h9 }* ^( o0 g* p% _
{creat(a);$ R2 ^! v2 s) G+ X$ h8 m
mpsort(a);
& p# r( i, ?, B& @3 r" O5 h: n/ v% j5 |print(a);
8 O5 w4 h& }7 G& q& {4 jgoto aga;1 h B$ t" [( r/ F9 `1 }
}7 y% n* o3 q& n; W) `
case 5:{ printf("exit!\n");break;}
2 c# F6 N4 [4 Q' ~ E+ p B) O: j: X+ Fdefault:{printf("Error!\n"); goto aga;}
/ ?( ]3 c/ p% G}" o# L, W0 K$ G+ f
}
6 x1 e& N! Z5 B" y( i) e* A1 f. \% D4 s
|
zan
|