- 在线时间
- 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
( F+ @( }; }% X2 H7 ~0 ?! Y#include/ J! N* X3 X, u. ~
#define N 11
* g) u9 W; r% Q+ t% e/*用**哨查找*/
, r6 i' s2 c- D4 x: Wint search(int array[],int n,int k)
/ S3 _' D' l5 |0 H+ a/ k{int i;% U; A4 j9 Z$ F, d
i=n-1;
6 b4 x3 j5 p! g/ y8 R7 }+ k; earray[0]=k;) G9 x, S4 L+ ?. I+ u1 W& A
while(array[i]!=k) i--;
% ^9 w1 p" C1 E X! z [1 A) l o' jreturn(i);& v" v* M3 C) [: Z
}6 Y1 \3 A" M; O3 g) ^% g3 ?
/*折半查找法*/5 y* k/ S! A8 v1 g: N$ s
int halfsearch(int array[],int n,int k)
! \' j+ x9 t! |" K/ }/ e( {{int i,j,mid;
5 x& E6 s- n- H8 J$ B5 @i=1;j=n;
* H6 Y+ s8 ]* U& u! v; [- N' swhile(i<=j)
7 r8 i4 K" r) D2 `/ N) z* m{mid=(i+j)/2;7 D( l, d4 W, e- P( ?# e L
if(k==array[mid]) return(mid);
; A; e! J0 o1 j6 p2 n; Helse if(k 4 w2 K- E1 {6 z1 N' b9 i% M
else i=mid+1;
8 p1 |/ k, Q$ @, K3 M! Y}
# A/ q, i9 C" B; e+ Jreturn(0);( c+ y; v7 r& X3 m4 M1 n* A" v
}
7 C" U3 B% i) v5 y4 j6 u C/*冒泡排序法*/
, Y1 ]" {5 \% i" z* Rvoid mpsort(int array[])
0 h" ?2 }& D! ]& Z! Y6 p{int i,j,a;4 d" z% G( v* {3 C$ Y# ?
a=0;
, _% \3 D9 k. ?for(i=1;i
) g- N7 M7 s: b, Afor(j=i+1;j + O2 }- o/ g4 ]3 z0 l2 w9 L
if(array[i]>array[j])
) a1 s2 m+ d5 i! }5 A{a=array[i];8 b: n8 H. n; L& j) K# y1 e$ a& X* X
array[i]=array[j];
) w5 Z% ~7 V8 y. h- n# y1 _. Barray[j]=a;}
6 w- H* H* b8 Q* E+ y}' h) z& e' h- r; D- T1 G
/*直接插入排序*/
% g/ ?9 V' k" a! _6 c5 m w i1 rvoid insertsort(int array[])
! V# C- T5 \3 G4 x9 |{int i,j;
, d' ?! Q4 @& y) I/ r- wfor(i=2;i + E8 c; Q. b+ z0 J0 F' S. v
{array[0]=array[i];8 V: v9 K9 X% G$ o9 r
j=i-1;
6 k9 E8 v. c$ fwhile(array[0] ; A* f' t+ r* F8 R( I
{array[j+1]=array[j--];
3 h0 r7 S8 ]: n x. d4 Karray[j+1]=array[0];. Q8 f3 ?$ ?( o- g/ ?
}
. ? I# P* n+ ?+ s}
+ k x, Q& U5 g}6 \( n* s+ C5 {9 F3 k# K& a( z) }0 `
/*建立*/* k; N+ M5 y/ t: a; v
void creat(int array[])
3 \2 d* S: a6 k: V6 s( i& ^{int i;# |% x8 c% i0 T
printf("enter the array:\n");
2 P1 F8 c2 \# `. X" \for(i=1;i
2 i" M9 h; P/ y, fscanf("%d",&array[i]);" ~ M+ f$ Y% G
}
% c+ V0 i9 W5 e1 \: ^/*显示*/; z( a( T$ X G) R, T
void print(int array[])0 |1 }. e$ c6 Z3 P& B2 ^; z9 p' l
{int i;% S/ _! I! e6 C: ^; W8 w* ~9 ?
printf("The numbers after sort is:\n");! J1 U2 T) E; m5 o
for(i=1;i % s$ P6 \) ^- b6 w3 l4 F& k( Z- d
printf("%d ",array[i]);
! |/ k- \7 q, R, Sprintf("\n");
- b; I+ Y1 v% z% i0 l2 ]" {8 a1 c3 _}' J2 r2 q$ H, x+ \$ j3 E0 P
main()
4 [( I0 g7 |8 f{int a[11],i,x,chang;; U9 }6 O1 B5 \' B9 h
/*printf("enter the array\n");
, ~4 F0 G- ?# ^; v" _7 Kfor(i=1;i<11;i++)
) P5 o8 Q! I* Q7 ]8 `9 @$ t2 ascanf("%d",&a[i]);*/$ l6 g# G" s' H. O9 i3 r
aga:
: o5 w' R5 [3 e$ Kprintf("\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");* g7 Q( n2 q+ C# E+ `
scanf("%d",&chang);
9 y2 A9 p0 W* R, k# e8 vswitch (chang)$ H5 b0 Y& G4 c* V9 F8 l
{case 1:
6 X8 Z' N2 j t! V8 O7 N{creat(a);
6 o$ ?2 _- ~6 P" A* Xprintf("Please int the search number:\n");
5 Z5 e8 W# X3 w I0 O% \* e$ ~+ U+ Escanf("%d",&x);- R( {2 V6 E( S5 g- Y; J' {
printf("The number station is:%d\n",search(a,N,x));3 I% {" @& |, X3 Y. U
goto aga;6 i0 c* w, f7 K9 ~
}+ L5 [7 E& @# o
case 2:
' e% d5 P: `! n: ]. p( _{ creat(a);3 Q' {/ O5 \ P
insertsort(a);
; B1 h3 [6 e V. `( {+ eprint(a);. `7 Z: T4 h! J! h6 N s
printf("Please int the search number:\n");1 a/ G4 D; K$ p! O5 w/ a% C% s( _
scanf("%d",&x);
8 H+ m, d7 o6 c2 Pprintf("The number station is:%d\n",halfsearch(a,N,x));
; k. L' z+ @# l6 j6 Ggoto aga;: O7 b. P+ x i2 ?% ~' G7 w
}
5 k, I% D: [/ C J" u4 Acase 3:: x* z% e x+ X6 [9 A
{creat(a);1 X% E: c" O6 ]/ P: F' e2 P, F
insertsort(a);$ V! N0 a, j4 K& H, k, U6 l
print(a);, n1 c$ C8 x( U9 u# i
goto aga;
b3 L6 c8 V7 V1 b: u}. N: x' n7 j2 c. v. R
case 4:% M i% i# s3 r6 N1 W2 K" }
{creat(a);
& g" \9 T; [0 ?1 S: x8 X! ]mpsort(a);
! z( S8 Y+ H! _# C$ |print(a);
+ D9 o& a' `# _. J0 U2 \goto aga;' @4 [) n9 N- _+ S# C/ G2 R5 h
}
: q; q/ `! P9 E3 W6 F2 icase 5:{ printf("exit!\n");break;}
5 C0 ?# j1 K' ~& R: ~default:{printf("Error!\n"); goto aga;}
, @7 D0 G9 D" |$ e. i/ D}# L! t0 } v _) ?- m' l/ e1 n- B+ ~
}
# H" }; w( H. l0 c& z
2 e) l3 R# x- E L2 J |
zan
|