- 在线时间
- 0 小时
- 最后登录
- 2004-7-22
- 注册时间
- 2004-5-28
- 听众数
- 1
- 收听数
- 0
- 能力
- 0 分
- 体力
- 124 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 43
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 4
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   40% 该用户从未签到
 |
< >, i4 R1 m9 ]4 q9 p
#include <malloc.h>( ]/ ^# Z: o+ w! n: m
#include<stdio.h>
1 x/ M$ {$ Q* i( `#define N 112 O' O/ y1 h" w# u
/*用监视哨查找*/$ A' E0 d' t- f3 s/ z- C! r& ?
int search(int array[],int n,int k)0 r5 r4 o: v; \
{int i;
$ C' q3 W$ c( W+ | i=n-1;9 K1 t. o' h9 Z# A* O% e
array[0]=k;
9 g% v; ~. m% G' O }/ qwhile(array!=k) i--;' ^; U* U) D! q# K, k, `
return(i);
1 I; A1 \! Q5 S4 s}( ]7 C& d S+ m
/*折半查找法*/
% ^' }7 @2 O0 Pint halfsearch(int array[],int n,int k)9 }4 L9 Z5 u4 O1 T
{int i,j,mid;
2 P- B6 @# c4 g8 V i=1;j=n;
7 u& x w9 ^) U3 d9 }' v5 F* iwhile(i<=j)
2 `3 w& d9 Q0 B5 ~$ z# s3 L! ]{mid=(i+j)/2;
5 x# A" D2 _7 s7 J2 L+ G if(k==array[mid]) return(mid);
% @9 J8 y/ L/ ?/ s/ {0 d$ telse if(k<array[mid]) j=mid-1;6 l, q. U( b$ U, i3 B) c
else i=mid+1;% x0 ?9 K7 T5 R9 h3 u
}1 V0 C, K5 J: {) H* @9 H3 g( t- f
return(0);
8 M6 X9 l& d5 C/ F! {. p+ c4 B}</P>
^) h! G' \) v! q< >/*冒泡排序法*/
+ H+ J( @/ C2 z5 q& nvoid mpsort(int array[])) H: L% n# _, g5 s, c: J7 K
{int i,j,a;! F3 | H4 [0 O. M
a=0;
5 M0 y9 _4 t1 \6 g* ?! q for(i=1;i<N;i++)/ a6 \* k* @1 m* ~
for(j=i+1;j<N;j++)' y3 {) x& g9 S0 C- O' f
if(array>array[j])
7 M+ F; \7 y7 J! L: a {a=array;# d& Z; [3 M, C: j
array=array[j];
2 |' _; o' l' p! q3 u: M% r( N6 S. P array[j]=a;}8 K2 H# E3 `* [& \. I3 o' G
}1 w, o1 `, y/ j
/*直接插入排序*/
) m2 ?7 Y6 T& `. ~0 K4 s1 qvoid insertsort(int array[])
5 L1 `6 B( ]0 ^, @5 J$ K7 [- r- e; R: k{int i,j;
$ I4 e4 h( E+ g3 N for(i=2;i<N;i++)$ P; Z" ~( s' S8 f8 |8 X ]
{array[0]=array;
% A* R |. r/ P4 t+ f0 W; p* M& [j=i-1;0 H/ h4 V) V: ?6 K
while(array[0]<array[j]); I6 F0 q* r+ P Q; {
{array[j+1]=array[j--]; [. j( O- n* l0 F# G" e
array[j+1]=array[0];9 g: g `4 B7 ^9 d
}6 h% |3 g6 I# X/ j& Q1 l/ A
}. \- f0 v, D0 k! z# M( O
}
4 ^# I8 t9 E7 w% A0 ?( h' T. p/*建立*/
+ G% Z+ {4 V7 t7 j. [- Svoid creat(int array[])
7 J0 g3 R% u" i$ [* d2 W7 a7 x{int i;
) C' z$ G; f( \5 ?: N0 U printf("enter the array:\n");1 J6 u* _( I$ e& c! ?3 _. R& b" m$ d
for(i=1;i<N;i++)' h0 l @9 Q% h7 Y; \; k: _1 y/ N
scanf("%d",&array);8 z0 |% x ]& j M7 E& u" n
}</P>& B( [8 o7 e! c* L0 Z2 z6 M
< >/*显示*/
1 K6 Y) X, ]- |' svoid print(int array[])" V: D6 {2 q) U8 v1 O: M
{int i;$ s/ U |: b( ]( s5 k5 [$ K
printf("The numbers after sort is:\n");2 s4 M& f) Q! X" G- I# T/ d' _
for(i=1;i<N;i++)
* a K. F9 E/ F$ F! e* q- ^9 Y printf("%d ",array);
" ~/ L" w$ f. O. S printf("\n");
5 D s4 D) v& M+ @2 Q }</P>9 i2 g/ Q; ~) Q% x5 f1 T" O
< >
# O3 ^/ [0 n. M# v6 T5 O' rmain()/ p4 N5 L# C" n6 c' `
{int a[11],i,x,chang;
: Z) m# I7 [7 i5 y9 N2 i, c7 F5 _% P /*printf("enter the array\n");
; E# }3 z: d, R2 y" }# P$ ^ for(i=1;i<11;i++)
/ S% w6 v. l3 ~1 O" M' h scanf("%d",&a);*/</P>3 w7 q* p4 ?& v0 z. d: S
< >aga:
6 f4 q/ I% J" f+ |2 W1 C. 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");
$ X2 O, G" S3 ?; D scanf("%d",&chang);
- C; J$ L& }8 v, l9 b1 b' L switch (chang)
! c l% p; Q2 ?1 V {case 1:
& }4 c# n5 L$ k, H {creat(a);
, d3 M2 ~5 v8 C0 f3 O printf(" lease enter the search number:\n");
0 ?, H8 a8 F1 U$ [ scanf("%d",&x);
7 | J; }( R3 T+ y, m1 X printf("The number station is:%d\n",search(a,N,x));7 {2 R I Y' b B3 c
goto aga;8 g5 n: @# A! v' G/ f
}! Q5 i) W/ {. b& d; P' y
case 2:
# m4 B! d% }9 J0 C: A1 s { creat(a);
* e$ }, A6 i. F/ }% N8 H insertsort(a);& ]! n7 A. O/ r1 y# p9 L
print(a);0 V( k% g+ D" Q0 h9 l
printf(" lease int the search number:\n");
2 {* X, E2 N% @4 |7 I: a scanf("%d",&x);! ]5 `9 x8 b9 U
printf("The number station is:%d\n",halfsearch(a,N,x));$ m$ Q4 b; L0 G2 T. j5 n
goto aga;
9 j$ O, E" K4 W O2 b0 U5 B }! D7 z+ o9 B' F0 L- t8 g. k! ^
case 3:8 |6 f4 V: X- q0 {9 j
{creat(a);
3 ^4 `% P! s9 k. g( c insertsort(a);1 R* w) b3 m* \
print(a);
- r5 A" s. q0 f goto aga;
( K: z f. y( p* k }</P>0 L" ^6 j$ M7 F) N# l4 K9 ^. c
< > case 4:! V$ l; v$ ]( ?8 m6 C
{creat(a);
9 E& O4 J" \/ v9 S1 U mpsort(a); Y( Z$ s* V* I
print(a);
% C: t/ J$ ^% x$ a# m+ z& v H1 S goto aga;
' Y/ s; X3 o5 G; m) u }</P># H- _3 _, p0 u4 s
< > case 5:{ printf("exit!\n");break;}( B2 t! ]' a/ N3 _ K. I W- @
default:{printf("Error!\n"); goto aga;} q6 g6 s( |* z4 D0 T- b1 [" _
}
" ]' {0 s4 b$ H! X7 D}/ b# P! ^0 F- {4 Y6 n3 p5 H
# y9 Q/ b. p S# f8 L( F0 { Q 5 |3 B2 w% \1 i
</P>
: b5 z% @6 V" b6 p[此贴子已经被作者于2004-6-3 12:16:43编辑过] |
zan
|