- 在线时间
- 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
0 Z7 O8 U% K$ ~/ x, c" G+ H5 Y' ^#include X) |5 `; C& r" ]; @
#define N 11
( e9 e1 r# U- g3 ~' I1 l/*用**哨查找*/
# a& l0 U* `' ~int search(int array[],int n,int k)
2 k+ R6 O! ?6 u( b4 r& e2 c{int i;
" b( a" u) g, ~; W0 X" Mi=n-1;5 l, p7 C+ W) `6 S
array[0]=k;# d& o: y1 I* J$ e4 Z( o1 `
while(array[i]!=k) i--;) ? G/ n8 z# Y" }4 p1 K+ Y
return(i);
: M$ E* J9 M# u* W* D}3 q$ Z# W2 t: s0 m; h
/*折半查找法*/
- o1 j, a, H! s) W& ]7 U6 iint halfsearch(int array[],int n,int k)2 N4 @7 R5 S; q; j0 N. h
{int i,j,mid;, Z6 L$ p9 O1 E h
i=1;j=n;
+ ^1 L, G7 p8 W- awhile(i<=j)
4 r) w& m' P4 `1 ?{mid=(i+j)/2;
a2 f$ E8 k8 v& [* T5 J% ~6 b, L& Cif(k==array[mid]) return(mid);- T3 |6 \1 s2 U" i3 C
else if(k 4 T4 T! j! Y% F8 T' e# v
else i=mid+1;+ ~" A' z" F$ E5 k# S6 w+ Y0 J: S! J
}0 |# I7 P0 w) T; k
return(0);
6 A* {: _* u+ s% |# M}
2 H) x0 o$ M# V# @" O3 x; `/*冒泡排序法*/
7 x% M. e# P2 D+ P$ Gvoid mpsort(int array[])
- i E# h' ^4 L{int i,j,a;5 m9 X5 f. A$ W1 b; X
a=0;# a! s0 c/ Q' ^
for(i=1;i ; p! l5 X m5 Q8 T0 _ M
for(j=i+1;j
' S0 _6 z7 Q: o( O+ z; k: s+ e! r* Yif(array[i]>array[j])' H1 Y% m! n( d( ^
{a=array[i];4 ~; a0 c* F! g5 A
array[i]=array[j];
0 c$ ]0 S$ O% R( i4 ^+ r/ T. L* Tarray[j]=a;}
. N: `6 u* n4 s7 n7 h" S# M2 D}
& H1 t5 m5 {# I, r/*直接插入排序*/
9 ?% t4 n8 O/ P( m& ` g0 Pvoid insertsort(int array[])
3 R; h- N' D S/ s. Z0 L* s# J- }{int i,j;
0 }! ]: ~( s9 J6 w2 efor(i=2;i ) V& E; q4 f( S0 A! r" f& ]) h
{array[0]=array[i];4 W# D6 b8 a! n8 N. X
j=i-1;
; W4 ?. S# J( Y( L" \: U7 Vwhile(array[0] 9 H& @8 E; S1 n' E% P7 Z" N
{array[j+1]=array[j--];
1 ]$ L4 u5 T9 e( b" ~8 O* harray[j+1]=array[0];
5 W/ d) Y$ K* l, N+ I}
. l$ z, U8 Y; k4 e0 k/ a2 v! O}: |$ N: c, F5 q' e9 @' n, y
}4 B& s1 [: x h# n' i! V
/*建立*/
) y+ `' t. D3 q, _void creat(int array[])3 f$ T; }) T# z) V& W; f! D y
{int i;
# x% n# Z. k! n9 E/ Eprintf("enter the array:\n");( c. s m3 P) \$ L7 \( U, [
for(i=1;i
( u8 i0 l4 S; ?1 E6 T! Q/ z, ]; oscanf("%d",&array[i]);5 p. ?$ |7 ?9 S+ l' ~* n! r
}
1 I. y5 C% f2 P( Z; P( k/*显示*/2 ~/ U7 k" ?2 ?3 @+ G/ g2 M
void print(int array[])
* w0 Q! b7 T5 m- k( b{int i;
/ @0 |4 b o. I: h$ tprintf("The numbers after sort is:\n");
. N- D0 H4 @! j1 Z6 U; wfor(i=1;i % q: t0 S1 r) L* T, T3 K
printf("%d ",array[i]);
W1 B& p6 F* v6 iprintf("\n");
. {4 X3 @ ^& F, M) ?}
. H% _ L7 A. j( ], @) _main()
% N6 O. S+ y: p9 e& g1 F) s# k% r{int a[11],i,x,chang;
( b' O& V. _* q9 Q i- |/*printf("enter the array\n");
) j1 }4 }4 J* ^0 F3 Y' D* \for(i=1;i<11;i++)
d5 a4 ]6 Z6 r! Y; mscanf("%d",&a[i]);*/
; U0 `7 L' X* @2 ]aga:+ Z- m4 s2 ]( ^/ z6 E( x* O4 u
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");. R/ P8 X2 b5 [
scanf("%d",&chang);- ~+ v' W. s7 d) @( s
switch (chang)0 j- X- H8 W6 N$ F/ f0 ?
{case 1:3 v9 R3 E- n4 i$ Z: Z+ h
{creat(a);
# R4 ^/ ~" w! pprintf("Please int the search number:\n");2 x7 l. }: U5 ~9 M8 d
scanf("%d",&x);& N; ~/ o2 h& ~- N9 {
printf("The number station is:%d\n",search(a,N,x));
- Z4 }1 L. U& U3 d0 K7 U# Ugoto aga;' x5 ~, O5 K; o% H( n+ v
}
( [) l* D& u7 U* Mcase 2:
- c: W# p% y1 H, O1 C{ creat(a); k/ r; w) i8 j# V
insertsort(a);0 ?$ Q% y3 w6 f" r6 s
print(a);
" s a( b8 r8 j0 rprintf("Please int the search number:\n");
$ C" W' i& V: a( P4 E8 d; bscanf("%d",&x);
4 ?% o* j3 g. W! o0 gprintf("The number station is:%d\n",halfsearch(a,N,x));
/ q; D% S% J h+ C8 _; Zgoto aga;) e, W8 {# k7 H! i" B
}
- k& Q4 |6 m* j7 Ucase 3:
& `& x5 m1 R# A{creat(a);% N+ r+ ~2 v, \: A2 y+ [ T' e
insertsort(a);" d- k2 I; t2 D- W0 Z) X& p9 c
print(a); u9 C! t4 Q* r- W+ u) V. ~
goto aga;
; R) Q- H& D" C( ]% U# `$ ]}0 [# Y! D3 ]; R2 P) y8 G/ W+ n
case 4:0 ]' ]' M) B& Z( K
{creat(a);
. i- y1 k. S2 z" @/ M# O8 Q; X) ^mpsort(a);
( X$ r- W& {6 [- c8 yprint(a);9 R% [& t5 x# b' p$ T4 c* a! J: m5 r% p
goto aga;
4 X1 k! }* S1 G0 K3 E}
4 n6 H4 i3 s. W W7 X) Ocase 5:{ printf("exit!\n");break;}4 P. I2 a$ S/ ^- @$ i
default:{printf("Error!\n"); goto aga;} M, Q) ]& C3 X3 {8 U/ x8 h
}; X6 u6 \3 L& ~# [: v% n$ l
}
5 y" F4 t+ Y( ]* G. O% X9 j
" l* L$ b+ f, {' j2 H) W, E |
zan
|