- 在线时间
- 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 , {, s9 u" I( k4 v4 B
#include. K; \ h, U* k
#define N 11+ b2 y3 c7 @3 z
/*用**哨查找*/0 m( ?5 E a0 ^3 T
int search(int array[],int n,int k)0 d/ }0 ?! h1 x# P8 o
{int i;
! ]+ e% V) B9 e/ N0 P4 l$ P# b+ Ki=n-1;0 B/ ?7 Y2 U( U9 Y; [# D
array[0]=k;% S& }/ p7 S' ~4 f' U4 A
while(array[i]!=k) i--;
7 {7 X& Y0 a& r/ F. V9 _! z; ireturn(i);6 ~( X% P8 X; x2 ^
}
" e+ p. {- J+ f9 ^1 q& j5 m/*折半查找法*/* i; B/ {. ?& X2 m7 r* C' N! c+ B
int halfsearch(int array[],int n,int k)
7 |- G- t% h- H0 s9 x" ]{int i,j,mid;
; n" K; \3 a5 }7 q+ L4 R' L( wi=1;j=n;2 W+ N' C) \* e$ m4 m. M
while(i<=j)
]' m, {' J) ^, n1 V2 O |; F{mid=(i+j)/2;& {6 m. m& J6 p' d
if(k==array[mid]) return(mid);
& S2 F! K8 y2 O5 C, X9 aelse if(k 4 B$ N# ^2 a* L* l& }; T) Q
else i=mid+1;# k2 ?( Z5 n% q
}
$ e* O' o( h k0 k6 g$ L2 a9 A0 ?return(0);+ ^# a% w+ p1 s: V3 o# c
}* F1 t! g9 z+ A3 D2 k
/*冒泡排序法*/6 |9 ~& j$ G0 B4 o
void mpsort(int array[])! s0 ?/ f' u2 h6 o s5 y
{int i,j,a;
2 p% A9 _0 o' c' z' }a=0;
" @( m1 @9 t1 |: X2 b2 }; m( Pfor(i=1;i
! l/ }! { \# U1 m0 L( Y6 A' [for(j=i+1;j * D- [4 O# |: \( n; f9 w* Y* N
if(array[i]>array[j])
' O' k) g- m) s# y{a=array[i];0 Y' q5 [7 ]/ Z0 l
array[i]=array[j];
0 X! c3 q- J: [7 `$ A# V' \* X) harray[j]=a;}
$ b5 X ]" W( M6 ^}9 t- e7 V; i) M- E2 {" e8 s
/*直接插入排序*/9 ]0 {* {' Q: N& ]6 r
void insertsort(int array[])& ^4 B+ y9 d& D" F" Z" O9 d
{int i,j;
, B( T. t- [- G) L2 y! a; `for(i=2;i 4 v3 K- j8 _! G6 c, D
{array[0]=array[i];! E3 H9 f4 |3 \! H$ w0 Y1 a. p
j=i-1;8 C: q' n! S* u. x
while(array[0]
( z" N1 V3 A, z! w{array[j+1]=array[j--];
) R$ q( z1 k/ Z* s, G) [ R0 Q4 K% D' larray[j+1]=array[0];4 b8 b* X+ s3 C) L6 l' b, k
}
9 \5 U; F5 }+ Z3 i w}8 Z M, ]8 q3 v+ K
}
+ ~8 W2 e# |* t4 P3 e6 n/*建立*/* D# p+ ~3 x8 z+ V8 S8 m
void creat(int array[]), r' D2 T6 P- `8 @' N3 K
{int i;
7 c- e. R. `, u$ lprintf("enter the array:\n");
1 Y3 w( S. ?. S4 e# mfor(i=1;i 6 y/ Z. E4 g, {& r! G4 T6 \
scanf("%d",&array[i]);0 S6 N: K! e0 x' L4 `: M# Y
}
" Y1 L* }1 b7 c$ d" @/*显示*/8 Y- P# q# y \# T; k! Y
void print(int array[])
( X. d; ]$ A$ h. E) P7 ^{int i;
& T! R" h- S/ U; `" J& r, n! Xprintf("The numbers after sort is:\n");& u& I. M `. l5 o' x* }
for(i=1;i ! y+ y7 p, Y) E6 L
printf("%d ",array[i]);
% r6 M9 c6 a, k# P/ h! n. Dprintf("\n");
& g, _. T1 ]; y! T% a+ A$ L. }, p}* {8 |$ g1 x" y' v0 m4 ~1 k% T
main(), e, P1 T5 j7 S6 D$ |" @$ Q' \6 P
{int a[11],i,x,chang;
+ v$ q! v% ~1 E2 X4 x/*printf("enter the array\n");7 u; y( P0 V* s9 @
for(i=1;i<11;i++). U( N/ L$ W p- p! ~( I
scanf("%d",&a[i]);*/
3 x( i# V6 X/ y/ c9 \$ Gaga:9 M2 m& [; ~; _
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");
" d1 w( f% d8 h3 z! lscanf("%d",&chang);
5 f! w! l/ j" S8 oswitch (chang)
4 Q" I% J6 |: j{case 1:
, n: X4 b/ V2 q. p" r3 [{creat(a);
0 C7 u, v8 [# k' ]% s: l/ J, cprintf("Please int the search number:\n");4 {1 {8 _$ A* y6 m" v
scanf("%d",&x);
' E& t5 c( Z5 S: N+ K7 w7 a; l6 g/ fprintf("The number station is:%d\n",search(a,N,x));/ B: d" Z2 K( e! [$ ^1 B! i2 O
goto aga;
7 S _2 B- s4 T. A/ ]; H1 D' \}
0 ~6 g) Q* ^ ^' p- @9 }% h- X" R. W4 lcase 2:
$ s! F/ `8 }2 R0 d! _0 W! E{ creat(a);
% P' u2 R- A7 Y. l- Minsertsort(a);! Q& V! y$ K: Y3 L$ r! T+ R3 S* h1 Q
print(a);& v; H" V9 |" ~5 w! c
printf("Please int the search number:\n");, A5 E& r4 Y' `* c6 W- g( N$ |
scanf("%d",&x);7 a# ]: g# w# o( V
printf("The number station is:%d\n",halfsearch(a,N,x));
4 F5 w5 [+ y9 P) ?% V" Y2 |6 Jgoto aga;2 Y1 L3 y8 U+ h& \
}
: f. O+ w( a# k% v! A4 k1 Scase 3:
Q6 E8 T* s5 O" ~' V! a% u8 [) v{creat(a);9 s& L& u8 f# i1 a
insertsort(a);
8 C/ u$ R2 U, ]2 `0 _, mprint(a);
% x$ M$ P1 N! V" {/ Sgoto aga;' [0 f: t, p& J# Z' O
}9 C# d) [- w4 ~9 ^+ N
case 4:# [7 Y0 @' p Q, K
{creat(a);& k* F x% f; F% m+ }% z
mpsort(a);
) Y% B( n2 f0 W! u% uprint(a);' n( A0 k) ]* x
goto aga;7 p6 M `* t) u
}
: s$ l1 G4 F! Q" ycase 5:{ printf("exit!\n");break;}+ [2 [! \1 [5 N5 `
default:{printf("Error!\n"); goto aga;}5 P; F# z8 I$ j- H/ K0 F2 k
}2 n' B( ^! E6 B; o5 N4 w
}
7 ?2 H8 `/ T8 b8 T8 D2 x1 r, S) o O. y+ r
|
zan
|