- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77021 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27033
- 相册
- 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
3 L0 i; ?! B. Z0 O% ^#include% \7 y3 K, j6 E7 a* q6 R
#define N 11; Y5 \2 M' o: m3 S
/*用**哨查找*/, D* p- o7 o# e' n% ~( @
int search(int array[],int n,int k)
: i% a5 }4 O: y- R) \* @, I{int i;: \: v3 w ?- C" t3 p. b6 U
i=n-1;- f j# }1 B1 e& a
array[0]=k;6 Q* C) p' B M4 t- ?- ^; A, j
while(array[i]!=k) i--;* s/ Y, I8 Y) ~
return(i);
, }5 R3 K2 J+ Z2 m} y8 Y- w* v! d& w
/*折半查找法*/
# t+ e5 X9 v; T1 r; sint halfsearch(int array[],int n,int k)
; O" K1 z* _; i5 t* U) q{int i,j,mid;
. e7 b( Z. |, M' P/ ui=1;j=n;
. h R7 W' {! I; d v6 i) {while(i<=j)3 S' m0 Y, q0 P2 V. w x3 V
{mid=(i+j)/2;
* ?* C, _! S D4 W/ p! Bif(k==array[mid]) return(mid);3 j9 {" }' N1 ? D6 k- G0 [
else if(k
4 H, M6 O) D* |& M6 delse i=mid+1;# l* L! b3 D: F0 A, J! }+ h7 \" t
}
* e3 h& a3 V g% F& w3 ^return(0);! s8 h& ?# {. Z; T6 W
}7 F H) W4 ?6 f3 m% H+ q
/*冒泡排序法*/$ b( S7 } L4 V" Y- L2 g
void mpsort(int array[])
# @# q+ Q# x j, V{int i,j,a;9 l5 T0 h2 H, ^
a=0;9 }! K( H: I' Y& @, a
for(i=1;i . m7 P" V9 F0 n+ t x
for(j=i+1;j
0 W8 F% {0 W3 h- a( zif(array[i]>array[j])
& P5 D! ]+ \7 \1 X) `& G{a=array[i];9 G/ U' M5 m0 _( I; p& T
array[i]=array[j];4 N/ P; l ^2 }" ?3 V' V
array[j]=a;}
# |3 t3 t( R# t7 i}( X- I& u3 m! b
/*直接插入排序*/. g2 \2 K; t4 q$ _+ C e
void insertsort(int array[])! s7 j, O3 M" a) N# N9 [3 s
{int i,j;
/ S$ o+ H" j" X/ tfor(i=2;i
' c' D* A0 N( [4 u( r{array[0]=array[i];
: G1 P: L6 G% k! `1 P$ s4 `; S# @j=i-1;
! L2 b6 E) \8 z3 P# e1 Uwhile(array[0]
& y9 ^+ w; p2 J4 Y' ?0 C C: l{array[j+1]=array[j--];& s* o" n$ `2 h) ^7 R
array[j+1]=array[0];
* X) u' p$ O+ M: H7 C+ l# k- X}% F1 W5 i! q. \/ t. ]5 r/ H* x
}' E# q3 l' Y; o+ x/ r* M
}
8 m1 t4 ?% j P& `* w/*建立*/+ j& R/ a7 o' z0 ?
void creat(int array[])
e# F) G' D8 h! c) Q{int i;
& j( d, C8 S7 u3 a& a3 l/ Oprintf("enter the array:\n");
% T7 i1 ` e+ l' S& K% Ifor(i=1;i ! B: A* W( \. C5 \. [! n1 g
scanf("%d",&array[i]);
+ v7 ~! L2 s, C1 Y; k}
4 c$ `/ Q n. N6 n8 _0 z( [# M/*显示*/) S# [$ p; D1 b5 N3 R! B
void print(int array[])
8 G. |' L, m, e s8 M. F8 Q& ~( n5 c4 s{int i;
% Z$ R& r* r- U8 h- l1 q% g) Xprintf("The numbers after sort is:\n");/ c& }9 l/ x& Q! b; G
for(i=1;i
- }, u2 |$ J) A+ Gprintf("%d ",array[i]);
- M) {, G ?7 a/ z, ^. N3 s qprintf("\n");
' V! D" R# C( o, q9 G}1 S, L# I. D( k! g- U
main()( I S/ X4 ^6 \1 u
{int a[11],i,x,chang;' a0 y) }3 c- g$ ]
/*printf("enter the array\n");3 U {1 }% e. G7 S
for(i=1;i<11;i++)
- M$ f3 u$ n; v( r+ yscanf("%d",&a[i]);*/
, U P* Y0 ~# I& naga:1 [! e! C, Y5 Y* C, t
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");
x) Y) M' N" c" d/ b8 Qscanf("%d",&chang);
+ s1 v: h& K' k2 g+ v5 xswitch (chang)' q' J% O5 \/ x9 O" z# i/ d, ~
{case 1:8 m" R% y! T' Y+ H/ F
{creat(a);6 _) ` s* J: @4 A) H: I9 F
printf("Please int the search number:\n");2 Y6 R$ e- b6 n
scanf("%d",&x);. k2 g1 i0 n) d( y
printf("The number station is:%d\n",search(a,N,x));" Y* z! s5 B5 ^# f7 U; |$ P7 J( A2 e
goto aga;7 H, V' ~4 D } x3 N
}3 ?/ H! T8 B. D* @7 Z* `0 U6 a
case 2:
% M$ u7 M1 t. u2 j) a{ creat(a);! _4 k0 D+ a3 P5 Q
insertsort(a);
' Z) N" B& w1 e& v) ]print(a);
9 | d G8 z- \) t7 C& \printf("Please int the search number:\n");4 L" f, r5 ?' d3 {& x
scanf("%d",&x);, l3 X: ]" z1 U
printf("The number station is:%d\n",halfsearch(a,N,x));
) Y/ E) u# x: i( S& S# B$ Ggoto aga;. R- j: z1 i! R- T: {7 Z2 a6 R
}9 m! q& s9 U2 ^ V8 g( Y, C& ?
case 3:2 x) R- e' m% g3 y
{creat(a);
, X8 }- g8 n) G: V7 S+ n9 ginsertsort(a);1 G2 l0 C7 k* s; h) l) _9 {6 o" {
print(a);
! ^! S, o2 [; agoto aga;! h9 ^& @2 k3 {" B
}
5 h! P6 f6 R7 z1 H( ^" Icase 4:
' f7 u4 {* b5 b7 n. S/ }! }$ l7 ~7 q{creat(a);
, k8 g4 O% W4 c: Empsort(a);; e3 x7 y7 `9 j8 U
print(a);9 ]0 _2 Q# Y4 u* u
goto aga;
9 i- W+ u" a% J. c}7 u3 D X- Z& V( a
case 5:{ printf("exit!\n");break;}
/ Q$ D' h# W1 h, W8 adefault:{printf("Error!\n"); goto aga;}
# q' n B( X# q, q) y}7 C% `! W( S! c$ Z
}
7 Q- L" y: p5 k3 v, O7 V; y5 E
# A# f, B3 c6 y" H' d |
zan
|