- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77450 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27161
- 相册
- 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
( K& z# {. D1 \! k) d4 n, ]3 R#include
% k/ O+ R& T. t- ]( h" y#define N 11
, y3 z0 h& C& s, q/ U/*用**哨查找*/
; ` i3 `* j6 r. i3 r0 eint search(int array[],int n,int k)( T z2 m" c( Z! O s2 S1 U) \. H
{int i;' M0 p0 \5 q$ D
i=n-1;+ ~" o; a! Y: [7 {0 h
array[0]=k;* {3 ^4 A% b# q& }5 |; `1 V
while(array[i]!=k) i--;
" {8 e3 S( L( ureturn(i);
3 X3 a- p) x5 O' Z) X}
' B# E$ U; Q G w( C f& t/*折半查找法*/
- l7 K5 {& S) g- aint halfsearch(int array[],int n,int k)
7 C: E8 |# O* s{int i,j,mid;
p, Q$ c" Y3 W( Y; W' P) T6 T! Qi=1;j=n;9 n6 {0 E* y" {& V" _
while(i<=j)
) J' c7 c4 S! e L1 l{mid=(i+j)/2;
2 h8 r% c8 f, f: bif(k==array[mid]) return(mid);# I2 O; |2 u! y; ~8 c$ Q+ U, u6 z: r0 G
else if(k + ] L7 q& l: x. C$ |
else i=mid+1;$ F t6 }& q' f, {+ W
}
/ S0 @% \: ?4 c! C1 @0 y5 lreturn(0);& s5 R! ?, I3 h& ?- i0 Q
}9 h X" o% A* M1 _! n9 K
/*冒泡排序法*/
9 X/ g0 \. p8 [! \3 Kvoid mpsort(int array[]) G, @# C6 N! N4 P) M) P
{int i,j,a;3 m' K0 ]( }+ s0 P5 p0 U
a=0;; o# f7 u: o/ [/ x$ s4 T
for(i=1;i
1 F5 Q- Q- P. ?% D5 h5 pfor(j=i+1;j
, d3 Y0 O* \( B' W3 t/ V. mif(array[i]>array[j])6 J/ _* M; H. C+ \, O! T
{a=array[i];
+ t/ _! j8 f0 [: y( W/ ?array[i]=array[j];
5 y0 q) ]; x1 J/ k! N* Karray[j]=a;}: {8 \6 u- r U2 s0 Q1 l
}
& D. j5 a; q8 u; c: ]+ {/*直接插入排序*/
1 |$ b" W! @! |. Svoid insertsort(int array[])
6 |/ F+ l5 l% a{int i,j;
7 t- x' E% D* S3 D8 L; k' Tfor(i=2;i
, b, v6 R' W' N# Y% L9 z/ u{array[0]=array[i];! Q" h, P4 ]" K- T7 X
j=i-1;
( t; J/ ^) L2 }while(array[0]
4 T5 @3 i1 e. _5 W9 _/ O* b7 s3 r{array[j+1]=array[j--];3 s3 ^2 J* M# W7 @, b
array[j+1]=array[0];
& [. Z% u& J7 M$ I4 R! i: n}5 S5 H5 }/ N* i9 \3 i
}* H c0 u+ K. n7 m4 `0 w
}7 k0 _0 K4 s; I9 l5 Y, ^8 ~. w1 J" e
/*建立*/
) O' I% F. A: P; b+ svoid creat(int array[])4 |' A5 g: k* U5 o
{int i;, R7 z" w7 S6 [( k4 b, J) U. M, V
printf("enter the array:\n");4 \! S; F4 L, q2 K4 T0 o* D
for(i=1;i
" L: x x* v2 V# Y( Cscanf("%d",&array[i]);) o q# H% Z' o/ F- Z% i
}
& @9 i S) n- U/ J/*显示*/! _( w) \ m7 x
void print(int array[]), H/ z$ z, U k
{int i;
1 t; i5 d$ G& `( T6 u, {printf("The numbers after sort is:\n");. G" ^: ]5 n% M: G/ ]' m+ X1 B. U
for(i=1;i
0 h# ?; l8 |% L3 v) fprintf("%d ",array[i]);
( W8 I. G7 t% y( uprintf("\n");
G- [) a' ]: R3 B% s+ J- J}' z6 Q8 i0 w# O9 s
main()% ]% r7 K2 |9 r. \& z
{int a[11],i,x,chang;9 R8 C% _: ]7 M! s
/*printf("enter the array\n");$ c. f9 c2 G1 b. i1 }- D* w5 e' n
for(i=1;i<11;i++)! T u9 w6 z& o7 P0 ]
scanf("%d",&a[i]);*/7 `/ e- `: l, a$ D, b1 g! ^: M( c
aga:
, O' I; C( O @& W% r9 M7 }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");
; w9 ?( b- R' H/ ]% i$ f; O9 pscanf("%d",&chang);
" M/ t; ]% t- ?0 yswitch (chang)
/ k# b w) Z/ {, Y' k6 x( r, K$ O3 e6 l/ W{case 1:
: ~. v8 D9 R# I. C{creat(a);# p! H$ d1 c" c$ j9 l) g+ e
printf("Please int the search number:\n");5 D) [. y5 c" ~- L, z
scanf("%d",&x);' g3 w2 {" K% z/ m' G4 F' j
printf("The number station is:%d\n",search(a,N,x));* B1 p4 j* a" E% l- P$ q# p
goto aga;* M: @. `# c2 z- O
}1 }* t% Y4 B/ `) m. N0 p8 \
case 2:- l3 j: F! {! ^1 ?9 C; R( }
{ creat(a);$ B- W: ]1 C5 X3 m3 r
insertsort(a);
% o5 Y8 c9 h0 r5 ^) R4 a- yprint(a);
: {$ k7 g3 q6 l0 ]0 x Bprintf("Please int the search number:\n");
. S, g4 F) Z1 T& |scanf("%d",&x);
8 Y* W; u5 F( C. e( Gprintf("The number station is:%d\n",halfsearch(a,N,x));! G% v* l1 O3 k% b, C, r2 l# G
goto aga;
9 W1 _+ b5 P, s, \}# C6 m. j8 Q* s' J0 j+ c+ S3 P
case 3:
3 B( T A$ q! J* L }{creat(a);
' O, X( d5 G4 @" i" H8 I- x6 g# g' ginsertsort(a);
+ k& F: L. K$ G: ]print(a);- H% J6 a1 I: k
goto aga;
" O; e+ F+ K3 ~) `: ?) W; U. g2 m; g1 F}: n' y: x6 O6 P6 k
case 4:
1 B g G, w; `& p{creat(a);2 u! d N5 X6 D+ k8 Y9 H
mpsort(a);
; C( m$ F* H) x I# f: |. ^( uprint(a);4 \$ {+ S- D0 J( t K3 A: H
goto aga;
; u1 ^! i" g& L+ F+ R# _% B}
5 e$ p2 x) l' k! C! a4 l, scase 5:{ printf("exit!\n");break;}
" S0 c# F0 J) C6 a: `default:{printf("Error!\n"); goto aga;}1 d* }2 Z# ^. o3 R q
}
7 L9 f t; {9 ^ \9 B X. B. ~8 |5 W- v}
8 f: g. U1 k! P, Z; P( m! c8 z
" [# J5 a) R; E1 K% d |
zan
|