- 在线时间
- 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
m# {2 \" J" B# O' E3 c4 g) O0 M#include* R7 X) ~# i5 Y+ b7 o* z7 m
#define N 11
: k1 q+ N. l- T- F1 K, k' A/*用**哨查找*/4 B* k/ U: A7 v
int search(int array[],int n,int k)+ C: t$ v4 Z! o
{int i;
5 x S# O3 G' R& ji=n-1;. c" Q: \- H8 P. w' ~
array[0]=k;
! U& {( z+ ?/ d- s4 }. M. Ewhile(array[i]!=k) i--;9 ? h8 i3 A- {$ f
return(i);
5 @3 g/ C4 t# J* X! P9 ]4 M) j}
, H; L; J4 L( B- W( D& H/*折半查找法*/
- r; X: w6 q# x, O' K8 n5 eint halfsearch(int array[],int n,int k)' A9 |: B8 [) p
{int i,j,mid;
$ e9 `3 {+ u+ q- U: Z( y+ s% P& {i=1;j=n;
3 u. ` j. t# S! @6 w! Q* Qwhile(i<=j)
2 x3 G) r% U2 q! ~{mid=(i+j)/2;
' v5 ]; }# x( @+ Rif(k==array[mid]) return(mid);
' \' ^) g& O. @else if(k & J" S) Z" K/ V7 G3 b- N/ x
else i=mid+1;
( V: W3 k' I/ k( s}. J) L# j% C& ^" |: G0 B2 @2 y: M: I
return(0);/ H: }7 S: l1 q$ c% n+ I
}+ e1 K' n- p6 U6 O- L. P9 F
/*冒泡排序法*/
0 F9 B5 Y, s4 t- ]! ~* c+ u' g4 ]void mpsort(int array[])
0 ~3 H/ A" X3 k7 v4 {" o- j{int i,j,a;4 S# R9 m, j# R1 e ^4 S2 {9 S
a=0;
% h) h! E' J9 v+ Vfor(i=1;i 6 K0 u: F) \- @
for(j=i+1;j
. z9 p4 N: a% d' i/ g8 H: P5 Eif(array[i]>array[j])1 E2 p1 S" j3 t6 f
{a=array[i];
" s- U" l) k1 z- @' u. Barray[i]=array[j];
! A# [$ ^, h$ {9 r; Aarray[j]=a;}
2 y0 N( k1 Y* U& t! r2 x3 @$ |}
% c8 B# I9 h' @: Y5 A/*直接插入排序*// z) W/ I) ~+ }% e
void insertsort(int array[]) n! ^2 E: l% n7 e0 R. O9 A
{int i,j;
$ S! n, Y+ F( l& E; ]% I- [for(i=2;i / a& [( n# P4 W' n
{array[0]=array[i];5 b7 m, |$ v2 B& K: C, Q
j=i-1;1 u' W0 A. |4 _0 f$ Z3 B( F
while(array[0]
% ^8 B- S# N$ G4 p5 t0 @{array[j+1]=array[j--];
' n% D, |( `& farray[j+1]=array[0];
9 t7 n; N' Y; _4 _' D}
" }# J7 q! \# {1 c0 \}
w ^7 T- w% Q% b9 U# {( R; k}
/ v8 Q8 F8 G9 d) F' w/*建立*/
$ w7 Y8 o/ t" T1 |$ C$ b$ Jvoid creat(int array[])5 l3 R) y: \7 k& `+ o# N m
{int i;; i6 N' w& S" ^8 i, m! m
printf("enter the array:\n");; ^$ @/ Q5 B! d8 U. P1 y9 H
for(i=1;i y1 C# m' |2 b* S% ?
scanf("%d",&array[i]);: E H4 ?3 `( h/ Y/ P# O3 f4 c
}
* Y, f* F/ `+ A2 L+ l/ i- \/*显示*/$ D/ L! v6 \& ?- Y7 m
void print(int array[])% L: i9 ]0 c# X. A
{int i;8 E# @8 h$ ~. a' U2 X/ n" v' u) W
printf("The numbers after sort is:\n");
# s# H' u' }, m' p8 x; v! Xfor(i=1;i ) u7 K$ }6 C% [( o5 o
printf("%d ",array[i]);3 w! o# H- b' Y9 L- T
printf("\n");
, ?7 g0 z8 J* k. ?}
/ g7 I. e7 V3 C w' V. R; F8 @main()
3 N' C% h, c: T3 d{int a[11],i,x,chang;7 W9 a6 Z. w# `" P- J) o
/*printf("enter the array\n");
3 {4 y1 f7 K+ N/ Dfor(i=1;i<11;i++)9 A2 [1 N+ ]9 o/ w
scanf("%d",&a[i]);*/5 } m& s: f% X4 u" ]
aga:
6 S. Z! N4 Z1 N V) D3 I' ^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");
$ s {6 U5 y- @, [scanf("%d",&chang);
$ b7 ]2 h: L/ V' T- A1 Nswitch (chang)0 h9 c3 {1 T! z" d' R
{case 1:) o/ W m/ O( t. Y7 m( O& ~
{creat(a);: J7 t) G+ r9 r1 F8 o
printf("Please int the search number:\n");
9 q! l1 y8 } K. f/ Fscanf("%d",&x);
: D9 ?: ]3 @2 hprintf("The number station is:%d\n",search(a,N,x));
1 T( k' M+ J* C. kgoto aga;
& M, C2 H5 s0 R/ L}
?4 L" ^& [% q% ~% lcase 2:
6 W# A( k9 e! N& ~* f3 q/ d# b{ creat(a);" o# Y' {7 P$ J6 j; D9 w a
insertsort(a);; R5 t1 k3 a8 j U, x! g5 \5 K4 W
print(a);
4 F6 y. }6 ~' x3 @9 r, F' O' lprintf("Please int the search number:\n");
, H2 F+ F; r( d9 i, ~scanf("%d",&x);1 G# R) J& b7 f/ y% A
printf("The number station is:%d\n",halfsearch(a,N,x));
3 G( ^& a! J$ Lgoto aga;, H0 f/ b0 F3 o8 ?) G3 \2 O
}; u. C0 R; l/ M' J* Z7 J k
case 3:
; ?5 J' ?! K$ e% ~$ t1 ]1 O: `{creat(a);
$ H4 G6 ?9 E' E, uinsertsort(a);9 J3 N3 b% g; y' W9 T4 k
print(a);
+ U) i* D4 o8 f! i9 g( B: Z. d1 Igoto aga;3 M( S1 W/ ^- Q7 b$ N$ A" w
}& C: s8 X- J E' a, [1 {. @
case 4:' U% l* m/ c; i, J
{creat(a);
. ]7 M. c! o6 E7 N o, ?) bmpsort(a);$ P1 O+ k+ q7 S9 y6 b
print(a);" J3 ?! L) G6 `5 t2 Y7 E2 v
goto aga;
5 ^% g( S5 P. @( \: `" v8 F}
2 a" P$ I1 s& y& f: y W) ecase 5:{ printf("exit!\n");break;}
3 V+ `, [" L2 U+ O/ @; e, ?default:{printf("Error!\n"); goto aga;}
7 S1 H5 ^" d5 Y7 {- G" W}
# \6 g5 Z3 h& ]( E}
- l& \6 e1 d3 o. F5 `& Z
& a2 N0 N! `/ [- ?, i- l$ v |
zan
|