- 在线时间
- 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 + a/ n0 k$ Z8 G2 f: s
#include4 r6 I0 |0 P' u; C: e
#define N 11
: Y+ l+ m" A5 ?7 m/*用**哨查找*/
+ T( A) ?3 q+ R- l; \( G1 e0 lint search(int array[],int n,int k)) S d) F# l4 ]9 d- H; ~% T% d: {/ V H
{int i;: T4 W' o1 l" |6 I& @0 Z$ q
i=n-1;
9 W0 ^) U* e3 h. _array[0]=k;: J3 c6 d: H6 ]) v% G- \! x" P
while(array[i]!=k) i--;
. a, p+ e7 {+ ]+ A# K4 sreturn(i);
/ J! @3 h. c" S+ d" q B8 ^* I}2 O8 m7 ^9 S8 Z7 x: ~; s( I) j% S
/*折半查找法*/: n* w( O/ y. H& O9 R$ Y, o# t- a6 M
int halfsearch(int array[],int n,int k)- j6 V5 S" `4 F* k {/ `
{int i,j,mid;
2 R9 f; M- P4 B0 R0 B# ki=1;j=n;
! v" i* A, G& [+ n7 }while(i<=j)
/ R, S) S7 m- y! A! N+ w{mid=(i+j)/2;
/ n- B' j# E' p, c; r2 dif(k==array[mid]) return(mid);$ s; W+ B7 c1 [& u" O+ x6 [9 [
else if(k
: x( w; ?8 B8 `' l& G9 v* _# felse i=mid+1;% ~ w: x; _ L
}# K `. j& a% k5 U/ _6 @' y
return(0);
- G( n( @# s+ S4 [* u}8 x9 Q, d% c& K7 p! B& z( b! x
/*冒泡排序法*/" o) m, ~7 v4 Z( c
void mpsort(int array[])/ D& E. C g, S7 b2 K
{int i,j,a;# b% k9 |$ H% ~9 Y* M
a=0;
1 D3 k+ ]. p0 |, m* pfor(i=1;i 4 E1 X) ^# z$ P0 {" J. K$ ^# [5 n+ ~
for(j=i+1;j
' {* k+ b9 Z; `) ?" e/ g# f( Fif(array[i]>array[j])
! |1 G/ d; K( U/ r% x* i{a=array[i];
0 u0 E) \! u$ l2 m3 H7 |. }array[i]=array[j];
g5 ?& z7 q+ c' ^" aarray[j]=a;}4 K# y E$ d. L6 J
}
; S$ @+ R8 U! `7 q. W* Y6 E/*直接插入排序*/
. ^% Z5 T" M/ K; o6 q, svoid insertsort(int array[])
' n3 a% S# @$ k9 b' y{int i,j;* G3 p& _7 b* q' @& B" Y2 }
for(i=2;i $ G$ W/ X( [8 Z+ q8 H
{array[0]=array[i];9 B! B8 n1 ?$ K2 w! j3 x1 L, U
j=i-1;
! Y6 W6 }' k+ ^3 I1 Iwhile(array[0] $ o9 T$ w4 o8 U" S8 }& c
{array[j+1]=array[j--];
; h J" h: F7 larray[j+1]=array[0];
! w! J$ B/ A: i4 k}
+ X" k7 ]5 \9 `: W4 U) v; N}
4 l; k# v( O1 D7 r}
* y) M# M" U' i. C/*建立*/! [$ |) H. Z; c9 U5 h/ p9 T( r
void creat(int array[])
# R# P% c1 l* O5 r2 F* c0 m% `9 G) k, N{int i;
% K' |; l% J% h1 Fprintf("enter the array:\n");+ Y1 K2 a" u" o. ~2 N+ C, I
for(i=1;i
" z' b5 o( b3 I: s' s- v, D4 Fscanf("%d",&array[i]);
1 g' C6 v G$ ~}
2 y5 e; v2 Q# H+ M/*显示*/4 }1 g/ c8 R! s7 {
void print(int array[])' H% K7 x; C* m; R2 z
{int i;: h# D- K; b" Y# s3 I5 U" @
printf("The numbers after sort is:\n");
: s! t; F1 E# M8 g; O8 Z9 Gfor(i=1;i
3 V% z# W! S: Yprintf("%d ",array[i]);
1 m. ]# ^8 ~" V$ d; k3 ?4 _printf("\n");
6 o. M$ g+ \: V0 O; C0 C}
- Z, Y( j' A9 S) f' umain(): p! ~. g+ H! U8 J/ y4 [0 Q2 l
{int a[11],i,x,chang;. N+ I) d* t! t7 v) D+ u+ u$ N
/*printf("enter the array\n");$ X. P4 d5 Z7 I4 {% ?$ l
for(i=1;i<11;i++)
% q% t# [2 i6 T/ y8 g0 e6 pscanf("%d",&a[i]);*/: s5 X6 x) s6 D" b5 R H3 f
aga:( y$ i+ K9 G7 j
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");
" x. b: O- S4 T$ ?4 sscanf("%d",&chang);
3 p/ }8 q: B0 S- w& t9 S+ |+ V3 Vswitch (chang)
) n! H' Z$ o: |2 y1 z{case 1:' G# }5 T0 W0 L, L7 x5 u
{creat(a);
/ l3 T( z: K7 v+ R$ W! e1 Qprintf("Please int the search number:\n");% p! O) U+ Z4 p% y/ i, H% C
scanf("%d",&x);
7 ^: |( d4 V3 H0 w. y/ ^! nprintf("The number station is:%d\n",search(a,N,x));! o/ T9 X( v2 `4 F, b+ G0 f
goto aga;" t9 a- ^1 x7 s* P* p3 v
}
' _% S8 I* z0 ?' [/ o9 ycase 2:
; W/ v# [5 l' a# D{ creat(a);( K0 {, y. r V( w
insertsort(a);7 I9 w' b# Y) z
print(a);
2 h" K' @2 R; Aprintf("Please int the search number:\n");
" m6 Y$ x# P8 b3 C3 h4 w* K. p6 zscanf("%d",&x);2 j# c W: O& {$ a/ i7 K+ [8 V
printf("The number station is:%d\n",halfsearch(a,N,x));
$ b0 q1 Z; A( O, X8 t5 r# X0 q% }goto aga;
# _0 q' I) k. F}2 N! G8 p. m0 n' O" {6 V
case 3:# E; w# Q: ?& G( i: e. G) O( t
{creat(a);8 c b `6 J* m% E
insertsort(a);
4 b4 [: g* L z- l* R* _$ Iprint(a);
) a. V+ E- Q, n, m! n9 q; D3 Tgoto aga;
- B: n L4 i6 v4 a/ ~}+ F" Q- y Y% K0 E
case 4:
r/ @% v! c* u) q" u{creat(a);/ ^$ m1 k4 U& ~ j4 P
mpsort(a);
# e; j2 |5 e+ xprint(a);# `8 I) \4 m4 V" o9 y8 U
goto aga; C# L; d* N3 ^; {) E
}
0 u# k+ x+ T8 |' D6 S( Jcase 5:{ printf("exit!\n");break;}
7 M" V- N9 G& udefault:{printf("Error!\n"); goto aga;}% J9 k- v" G x( ]& u) [
}
/ Y7 P$ a, e& i+ T' B}+ U% N& \# A2 ?( w) x
8 v' q2 C, ~5 k$ L1 l* H0 ^" E5 K |
zan
|