- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77449 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27161
- 相册
- 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 ( o3 H8 o' Q0 K0 n( {) ^& J9 z
#include
A4 d% h N1 Z" l4 e' p#define N 111 \$ w& K: \2 a6 K$ m/ W2 f- U
/*用**哨查找*/! l8 }) z0 B! W. w5 R8 J' ^
int search(int array[],int n,int k)& o0 G& y' p0 ?" k) ?* C0 V
{int i;
% p, G' K9 U3 w1 a9 }4 ^ Ui=n-1;
; P$ ^6 t& K4 X+ |% h( E, L8 L; C: Farray[0]=k;1 r1 J. M: D9 A' h5 T1 q+ _
while(array[i]!=k) i--;
8 v0 S7 m/ z8 y; [return(i);/ z9 e5 P0 |; q2 D, {! t# O
}4 _) f1 Q+ k' k$ d+ T
/*折半查找法*/
1 e9 d# F) j7 h! [5 e9 \. _int halfsearch(int array[],int n,int k). b5 X' L4 z3 ` }% }$ m8 ^
{int i,j,mid;% l0 R; h2 x2 G2 g' L
i=1;j=n;$ m$ b1 b' Y& m/ V
while(i<=j)
+ b& q2 h/ |" |+ \1 Q4 U{mid=(i+j)/2;6 ?7 I+ p. q8 B, M9 C
if(k==array[mid]) return(mid);
, Z* A- q+ B3 _( helse if(k 3 s" u8 a. ^4 _6 U9 g7 A: u
else i=mid+1;9 p% G0 M" l* o4 j! `
}9 b' V. z" q) h
return(0);4 k1 h0 }4 u1 U5 z: Z, q2 e' N
}+ j9 z j2 ?* g5 f8 Y7 L" o
/*冒泡排序法*/
2 f5 y$ V/ A. R4 P& @" [void mpsort(int array[])
% t. \7 F, y( c' |- G, F4 S{int i,j,a;1 u; h* Z6 J1 Y9 s' g, |
a=0;
0 j; ]9 K+ c) E( x' ~& P. p6 Ifor(i=1;i 4 ]0 v6 Y5 {( A6 u6 v
for(j=i+1;j
2 o: t4 x" T$ s* F" vif(array[i]>array[j])
; i* v' ]3 @* g$ ?2 F; n1 v{a=array[i];
7 L9 W* i4 U. L+ A% n7 E/ larray[i]=array[j];
) `( K! E1 j# s5 L& L) Karray[j]=a;} S# k# r* O0 _7 b* ]& y
}7 y' a" J6 X; f3 Q+ w; y) Q
/*直接插入排序*// a9 c) d3 z' T8 f: U |5 J; E" K
void insertsort(int array[])
3 B& T: u8 e/ c7 l, k{int i,j;
7 z7 }# b. ~6 _( [" c6 i. o9 Hfor(i=2;i % j6 c: b2 E( T' t
{array[0]=array[i];
. g1 W, q7 [( c1 ~0 Gj=i-1;% d( D% U5 z+ D9 N$ ]2 m1 c) `, z
while(array[0] $ [6 i3 `8 Y/ Q: S' `: X+ k
{array[j+1]=array[j--];- {0 J" t! T* Y) b1 G8 j+ B
array[j+1]=array[0];
5 f1 n9 Y1 R+ x1 x: s l}- Z+ F2 o8 b- n+ y" o5 B* l1 l
}# ~( |, b9 b$ Y4 x% q# Y
}
/ P6 w; E: B1 L/*建立*/9 w& d1 g. z0 q
void creat(int array[])
5 u7 J$ d l! [{int i;
; s, t& ?* w- zprintf("enter the array:\n");
2 r+ ?6 O; {2 P6 R5 P) {" X R7 wfor(i=1;i
; F0 X$ \* ^3 O# e& B! g* ascanf("%d",&array[i]);
8 E6 A' u' S1 k# L+ k}
4 f: {+ t) z4 Z: K8 B# u$ A/*显示*/& `0 G! X! M( d( B) f
void print(int array[])
: N# @1 ]8 E4 Q1 u6 N* l' Q) y{int i;
. u! D' x5 e- A7 c" t& zprintf("The numbers after sort is:\n");
# ^6 E; ~' v* P3 ]0 y. yfor(i=1;i
7 R9 L7 J0 Z& Y" b' `" A0 ]: J/ p( nprintf("%d ",array[i]);
, d& F' Y6 c# e1 Z) |2 @. Wprintf("\n");- s& ]6 A) o5 c' t6 a/ l4 p( ~
}
* K r6 F0 m Z& q# T' Lmain(); ^+ Y- v& Y( e, @- N
{int a[11],i,x,chang;
+ s$ ]; {$ }( n- L' \7 f8 @, \- Q8 N/*printf("enter the array\n");
5 V; c; \* w5 b; ufor(i=1;i<11;i++)
: _9 w6 E; J/ S8 n* R1 rscanf("%d",&a[i]);*/
5 l* m; V5 }" Naga:6 w7 x9 F$ ]; Z
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");0 c8 N2 b( b& ?) U: I0 t3 t9 R% ^
scanf("%d",&chang);7 t# L0 ^3 q3 R; P$ i1 ]9 @
switch (chang)
* h6 D5 ?$ ?4 w$ X$ H{case 1:! [" u* f0 l2 t' w& \
{creat(a);
' x0 X" u; z: Yprintf("Please int the search number:\n");5 m [" e# c5 \
scanf("%d",&x);
' r; }* B6 Z+ ]# A( E: Yprintf("The number station is:%d\n",search(a,N,x));
8 S7 q& H% X4 }) [4 Q4 c( Dgoto aga;
* k8 e/ g8 Z: K) I}
& U ~+ j- Z& e: \. e4 ^case 2:
; @+ B8 o' t, e# ^0 F" W{ creat(a);) ?. T+ ^6 C8 ]9 ?
insertsort(a);
3 W; X9 v1 @% j) M- q# V; ^print(a);: B& \4 k5 j4 C9 P
printf("Please int the search number:\n");3 Y/ e' R# r6 W! G$ T
scanf("%d",&x);
8 u. d* j. r. Qprintf("The number station is:%d\n",halfsearch(a,N,x));
0 m. P D0 z3 F" n) [goto aga;
5 w: X9 I$ ^7 F$ [$ q% X}
9 X- C" X4 O& ^9 F& X, x; acase 3:) ^2 R% b6 H7 _; f5 L
{creat(a);9 W7 s/ H' |, C$ J9 b, m
insertsort(a);% N/ w( S! _& a
print(a);( C$ b+ U7 x; Y8 m
goto aga;
. y* Z5 X( [4 U- u$ ?" t}' {( I `: l+ Q1 \
case 4:1 ]1 {; _! B" V6 @
{creat(a);; v8 k, {- j2 R5 m/ \+ _6 I
mpsort(a);- n, y1 u6 I2 h" D1 o$ U
print(a);
7 `; t; A: q$ Qgoto aga;
2 Z2 A5 M' q6 @}6 S; I- g* ?, x+ A! k. V) q$ s2 L
case 5:{ printf("exit!\n");break;}
4 s& s7 t v! a' i6 O: h+ bdefault:{printf("Error!\n"); goto aga;}
9 H& @4 G0 c M2 S' |& t7 w" |* F! o}
* a& |+ {4 [ J, N. O9 ~}6 Q) ?# P' N& h ^7 H
% q2 Q. Y7 v2 f; d
|
zan
|