- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77273 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27108
- 相册
- 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 * d% Q4 j& h9 K, u" T# Y' T
#include. M) K! @! ?/ b6 i7 m9 K7 x
#define N 11" E0 t0 O6 M+ u& ~1 H* I9 \: q% k
/*用**哨查找*/
5 z0 w) e" f1 G$ g& R, @5 Bint search(int array[],int n,int k)% v5 |+ z) m. y; f7 Z
{int i;
' @) P' k% W7 Xi=n-1;
' k# _- |% q! Q8 e9 l" I! darray[0]=k;
7 _# p/ p% P4 N8 G0 Q. bwhile(array[i]!=k) i--;$ x, @" g) W0 ]9 v
return(i);! T" r$ c9 F l* s3 M
}. {4 @# g5 t6 M( K( L0 g
/*折半查找法*/: p/ c: X1 x0 t1 _+ C1 A
int halfsearch(int array[],int n,int k)
5 b+ D3 e4 d' v: p; U{int i,j,mid;' _- @6 h9 u( {; s/ W. r( t
i=1;j=n;
9 Q: |- z/ H6 ewhile(i<=j)1 V# Z. d, n* S4 O( e8 X: D$ v
{mid=(i+j)/2;
, X6 ?, |5 E5 ?. _3 Y6 a6 G* qif(k==array[mid]) return(mid);; f: t; |0 a+ ?' {
else if(k " V2 `5 n; P( f; X
else i=mid+1;
6 i$ j! ^+ }' n D+ B}" B! C! _( o' R$ S
return(0); p: B# f5 c* c" H. X3 G
}
+ e" t3 n- u/ q7 J/*冒泡排序法*/* |+ h8 R6 t) r% x3 k" j- s
void mpsort(int array[])
# @7 m& {& o9 E) O6 D{int i,j,a;
# F1 w" G' e J$ ^% Ka=0;+ s [; k3 Q5 o H7 G& C
for(i=1;i
. \8 U' `# _$ k+ afor(j=i+1;j
W+ c; ^0 ]; r, N" q8 [if(array[i]>array[j])
% \; `- f" {' b{a=array[i];
Y% A I, v9 Y; _% d& Z# Uarray[i]=array[j];
. J3 n1 L/ f3 N/ W. \array[j]=a;}
$ l) y) o W- L( i, U" S& w% a}6 W8 H( r# m8 z
/*直接插入排序*/
" g" k) r; T6 K' ^- E* }9 q7 ]' Ivoid insertsort(int array[])" T& P: v% ^: P/ L' e- A
{int i,j;
. `5 D$ u9 X$ c z8 sfor(i=2;i 9 z7 F: g M' H9 H2 ~0 u5 n2 F
{array[0]=array[i];* ~( c' y0 Z# k. C
j=i-1;% \" O s! e4 g: k( m; g! H
while(array[0] " a6 u6 K/ f! n
{array[j+1]=array[j--];; `* D) f1 g$ s( r0 L
array[j+1]=array[0];$ ~+ ]( m3 b6 j
}
- U( l, Y5 h) Y7 l$ x6 n `}
6 e$ }. S' R0 o7 F, M) K F}
' g5 W" ~) G" v) A9 A0 ?9 \+ _/*建立*/# }4 K+ M0 r- U" `+ m
void creat(int array[]) f* q; L T' I+ _& S9 w2 c/ S9 `
{int i;0 Y( T1 L" L h. @1 v: Z$ R
printf("enter the array:\n");
: y! U) P) d* f0 f v. C5 V+ ffor(i=1;i
# g! C" F( `: D* f& O. c( L" cscanf("%d",&array[i]);
2 y; e4 ^; }! O9 o1 ^}- M9 M: X$ @/ ^( Q5 S$ r1 E& w! _
/*显示*/ N& { x, j: `7 e; W+ i* y
void print(int array[])0 w* i$ J: h2 R
{int i;
$ J; D' }7 g& h6 }% B) J; t( A$ B. oprintf("The numbers after sort is:\n");
: ^- @5 M; x. gfor(i=1;i 2 U4 `: Y$ K& Z( }. q
printf("%d ",array[i]);- \5 P* `+ u0 |8 s2 `2 `
printf("\n");( G* @/ x4 A1 j% P( d, z5 K
}$ g# u& E, i# E. f7 N4 j
main()/ U9 K4 u5 b/ S
{int a[11],i,x,chang;
0 W4 b7 s. P! d a1 i" ?) d! c/*printf("enter the array\n");
1 \) v, h4 h% U- \% ^9 a- C) vfor(i=1;i<11;i++)
: A1 r; Z# I! D+ Z$ I% Fscanf("%d",&a[i]);*/
. U+ ~" U8 Q2 ~/ C& Iaga:9 u! A, O" k9 R0 K7 }& f
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");$ n1 B- p: k( c. `- b5 }
scanf("%d",&chang);9 y3 M# l4 I% d
switch (chang)
' F- R& O8 u! N1 {{case 1:" `; m( m( B) W! N) E4 ^
{creat(a);
9 D0 ]! | Z& m. _, Y' Vprintf("Please int the search number:\n");$ b7 y$ R5 g( f- s3 N% w
scanf("%d",&x);$ |* W8 c E" J
printf("The number station is:%d\n",search(a,N,x));9 N1 A; J) w$ K+ L- a2 f4 y4 S
goto aga;
0 d' Z, L I6 k0 z8 d}
! f! W: F2 W9 G, \& K3 C% y: Ucase 2:
9 b- E5 p- |% V+ x7 k9 ?{ creat(a);: d( E; _5 K1 ]$ d
insertsort(a);) o. E/ b4 s! S6 r1 j6 |, d+ m
print(a);
6 F7 Q a% S" i& sprintf("Please int the search number:\n");
2 q# Y) H; s2 f9 l8 Zscanf("%d",&x);
1 u% f% u( \6 }0 mprintf("The number station is:%d\n",halfsearch(a,N,x));, N: `$ z9 e0 y% P! p
goto aga;7 o! f7 Q# {& _; V3 _" I
}/ d$ Y/ \+ e d/ p; N, ?8 [
case 3:0 Q) i/ m p5 h5 s- `, |: x
{creat(a);; @3 b& c5 c) N5 f* v* {$ u1 _/ C
insertsort(a);
0 t' n# u* Y7 jprint(a);
1 ` h$ b+ J, i3 }+ `goto aga;
- P. [7 L: ~! C( y}
! K' ]" m' c, U/ `! Acase 4:
+ j& K5 G4 r. [8 m( \) m{creat(a);
' x5 t" {7 M Z0 j; a; q' }mpsort(a);
7 x# `1 o- o( H6 [( {, |- m$ pprint(a);% \) ~1 o( |5 M& q; J0 r: u
goto aga;* p0 ~3 W, R0 E
}; Z1 u0 t7 }$ u$ S: l6 j
case 5:{ printf("exit!\n");break;}
+ g! r2 T6 d1 q( f' Q jdefault:{printf("Error!\n"); goto aga;}
7 g" K5 I$ G6 K5 O6 I* [7 l2 V}
2 c% R! \, h5 x) }$ a}: Q2 `- i6 C% F- a, m/ E) Q/ M! A
( ]% I, p/ W, T N6 d4 P
|
zan
|