- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77452 点
- 威望
- 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
: } I j: ^, G L#include4 _7 A/ H7 T2 @
#define N 11
+ v- g2 [( o( J! [, y+ h7 |+ Q3 u* E/*用**哨查找*/
! ^) Q) B$ \4 }' h, T9 ^int search(int array[],int n,int k)
9 _$ e9 S# @. ]{int i;% s0 }' v( P# b: N( ?
i=n-1;4 ^2 G, E. N% T" \7 L- o# _, x
array[0]=k;
2 L5 |7 M' K% C( s2 H3 Zwhile(array[i]!=k) i--;- ~6 m L; R' J1 z, M
return(i);8 y3 Y3 N0 c# x# s
}0 z1 |9 W! j0 `9 L
/*折半查找法*/
" j% }6 k# K& D0 |2 v1 ^, P+ ^int halfsearch(int array[],int n,int k)5 ~ O" O" G: v/ z+ E2 [
{int i,j,mid;3 d$ ?$ N2 p, _/ _
i=1;j=n;$ {6 b8 ]/ V8 A" ]
while(i<=j)
& K: w9 _$ ]& Z; b |9 ^* ~{mid=(i+j)/2;
5 c1 g" d3 k! c9 b, L7 y; tif(k==array[mid]) return(mid);$ w5 z" ]% i* ]/ a, D; R3 E
else if(k - z; [7 w3 a9 B. _$ i
else i=mid+1;
/ ^4 b7 w: t2 m7 M! Q2 y7 E}% q6 V S1 [! A2 |$ w
return(0);
/ g# r9 q! M% F+ j6 G9 \2 N}
5 @* J3 U- e2 E/ @/*冒泡排序法*/$ k. s4 R* a0 x& h5 v0 ` o
void mpsort(int array[])
( d- M' Z: j3 r1 m+ {: ^) d{int i,j,a;& }* u: I3 M3 H1 {8 D
a=0;1 H" }, Y( Z( }! @' A% j! _
for(i=1;i
- I& ~+ Y" m" m9 f0 b' _5 Sfor(j=i+1;j
" _' ^" w* \1 E% Bif(array[i]>array[j])
5 L5 Z& i8 h7 I% ?& o7 B{a=array[i];$ n" \* [; {9 R3 l- t& N, }
array[i]=array[j];9 Y# L& n0 P! M1 D5 ~
array[j]=a;}
; R3 Y! Y: P& e* D- _; @}
5 K. _. ]" o" n/*直接插入排序*/, w% ^, N" m9 v: Y& ^* x. `, P
void insertsort(int array[])
5 g2 p( @7 T. ]$ g6 n6 j7 R{int i,j;
- I! O: L: X& P" R% T7 B: l8 n& afor(i=2;i
5 s+ T+ Q% P6 g# m0 z{array[0]=array[i];
5 A. Y" y& c* n# p* Y* a, m" Qj=i-1;, |' l- H. o5 }2 M0 ]9 b2 x
while(array[0] - b. z2 Q- [8 }2 j# B& c& F, G5 g
{array[j+1]=array[j--];% @& N" K* i9 I6 C
array[j+1]=array[0];5 B6 z) @3 k- V6 y5 f
}# p& V$ A# O5 ~8 u* z
}
* C. H( r! C7 r. m( q+ [ F}
~5 j9 j: T3 U9 S4 q9 v4 K& h j/*建立*/
$ Z2 @) ?7 p3 m( _* svoid creat(int array[])5 v: M% E% h- q8 d
{int i;7 }, f3 T8 Z4 W$ Z( `# E/ j
printf("enter the array:\n");
9 j# P& _1 ~: M, @. U afor(i=1;i 7 u' j" h; q6 {; p4 b
scanf("%d",&array[i]);' D9 |) q; z+ j* t
}8 K$ e% a1 D: ?6 A4 u
/*显示*/
0 H {1 {5 T* e' Z8 K) evoid print(int array[])
" ~. Z- A, U* U9 B{int i;
* L, q% N4 h/ x* K" g5 z bprintf("The numbers after sort is:\n");
* j) V6 q1 B$ yfor(i=1;i : R8 w% N: n' g5 Q7 n
printf("%d ",array[i]);# q& S8 a" A( J9 E3 ^( Z S
printf("\n");
9 s: o7 r- a1 B}
/ o0 u, _: c5 L/ d9 B2 G( p3 C' kmain()* K3 ^ n& {& U7 H$ _1 x
{int a[11],i,x,chang;, b' v+ {% M, @! D) \; }
/*printf("enter the array\n");
" B) S$ j# x. t; s6 d) C ifor(i=1;i<11;i++)0 o$ S0 e$ t; f+ f L/ S+ U
scanf("%d",&a[i]);*/
, H# g m$ g2 g( S( K( T' naga:! j+ a* ~4 X( d( O2 Y9 {& E
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");- `' e5 f0 I9 g$ |6 N, s) X; @# L
scanf("%d",&chang);
6 w6 _+ w {3 q' x* I* Bswitch (chang)
. V& Z6 I9 g; n! E+ X{case 1:
8 P4 c# ^1 T9 \{creat(a);
% K% m+ \) o6 `printf("Please int the search number:\n");3 i e$ a a ?; Z/ E9 J: ~
scanf("%d",&x);
, y$ c9 G: S- ~+ a- ? ^9 P* tprintf("The number station is:%d\n",search(a,N,x));
' c# _, }" X/ I; lgoto aga;3 l( b O# |6 X: a
}
0 A, w% D' a4 zcase 2:# ]; N1 g" t( t# N' }: ^
{ creat(a);
" j2 Y0 w' [& E( W, B( k1 \insertsort(a);
4 R+ R W, z2 O% V) Sprint(a);5 `" E0 w+ x. e
printf("Please int the search number:\n");& R" S2 K$ B3 `7 S' v; u$ o
scanf("%d",&x);
2 w2 C4 i1 C+ V8 n2 K1 {" pprintf("The number station is:%d\n",halfsearch(a,N,x));) i& P% n2 i! {8 J5 B0 ?
goto aga;! F# F1 R- v4 Z6 @9 m
}
; K6 {/ ]& `2 Z0 K$ n6 ycase 3:
' f/ \% x9 m+ O! ^$ T3 t) w" U8 z& v' c6 u{creat(a);, ~ ]+ S2 x( [
insertsort(a);2 y# m m# w, w) t) L! a
print(a);, i( a; O5 P6 H/ R& _( S
goto aga;
( Q) w! N- w! K/ V* B. F}5 S; `- N5 O7 ?1 D0 h5 Z. [$ k
case 4:
l! Y6 s# o2 v9 p4 t* d: }{creat(a);# \" t% g" b# z) W8 T
mpsort(a);
' V5 i$ m4 X8 _2 _. o B$ r1 e' k/ Oprint(a);) H- D# r% S, S1 @: `0 G+ L0 C
goto aga;5 \' r% w- i; {* U c% l- W
}& s+ ^. I4 P" l# C. h9 u
case 5:{ printf("exit!\n");break;}( m% _+ |2 E1 ` t! D
default:{printf("Error!\n"); goto aga;} A" q$ ]8 b$ t
}# V7 h2 @. X) O1 s
}9 Y! u# u$ y5 G0 _6 J+ g
- J% ^' t( ~, s9 e& z0 t |
zan
|