- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77548 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27191
- 相册
- 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
' [; t! W% E( p1 O+ ~! x6 i#include
T5 D$ H1 D+ m+ ~! C4 @#define N 11
8 I5 A. O) E1 Y4 @' [0 \4 v. X/*用**哨查找*/, C4 c5 @. e! s$ ^
int search(int array[],int n,int k)
/ m( C6 V7 `/ ~$ g! }1 g{int i;
% m3 C) W1 C- j& i( A& S# [, `i=n-1; d# g' E0 Q* m& E( S @, p- }
array[0]=k; ?. j* \. y' N- ~, F9 H$ x
while(array[i]!=k) i--;8 ^$ X4 r* x: X8 W
return(i);
! a, x$ P+ Y: r4 p( ?3 c1 L% ~8 \! `} ?4 Y2 C; m2 d, V" Q, m+ p
/*折半查找法*/
% S) Y! Z2 Y1 v' s" gint halfsearch(int array[],int n,int k)/ `9 F+ B# P3 C+ X7 M
{int i,j,mid;5 T) t. J( V2 N. @8 B+ v
i=1;j=n;
0 s3 j! t5 d3 l0 \while(i<=j)
! _" V* t9 T, D! S! A{mid=(i+j)/2;
3 ~3 A( _7 Q/ ~. m; Sif(k==array[mid]) return(mid);4 y9 b9 L4 w# u1 Z
else if(k 2 k: \* E, a0 b" p2 ~
else i=mid+1;4 X! ?& b7 K8 W
}
7 f1 p' F1 L; Qreturn(0);
, _0 V: b( Z! |; f}
- `9 W. w# L7 u- Z( h6 n; p/*冒泡排序法*/! i% H$ x* D& f1 b6 H! e
void mpsort(int array[])
: J5 S7 | K6 U$ M/ G! W, p{int i,j,a;8 T2 w# u y; D( D; u& l; j3 {
a=0;6 q4 S5 U. u! H* W: `; T
for(i=1;i + Q6 i5 B+ \2 h6 s @! B( _
for(j=i+1;j & h8 W K8 Q& W8 }8 G0 X0 P
if(array[i]>array[j])8 V# M# q$ R4 f' c4 W
{a=array[i];
& v- K8 o* C( q* Q9 e; Xarray[i]=array[j];3 w' _1 ~4 h6 h5 I
array[j]=a;}8 N& m9 K2 f+ U; n0 P1 L8 F
}$ m# M" u5 ~3 ~. L: Z! J4 |+ D0 \
/*直接插入排序*/
# Y/ g, B% U+ C+ T8 mvoid insertsort(int array[])( n7 G1 W3 q- ~( Z
{int i,j;$ N+ P. ], p1 J- C
for(i=2;i
! y; Q2 T. \ [$ j{array[0]=array[i];6 g/ q8 [8 b- J7 z
j=i-1;
# X2 U. f" V+ A u( M, Awhile(array[0] 6 O1 W8 U1 v9 O! ]
{array[j+1]=array[j--];
8 U3 n- E$ _7 varray[j+1]=array[0];
+ _2 ^$ F1 g( ^0 S, u9 q4 U* s8 T}
. T0 |0 Q2 I( z+ J, z}
/ X1 X/ t; G; U8 Z/ N}" _" C% W' ~5 a, H, a
/*建立*/
& ^5 x* T f7 {2 H1 j7 W4 Z) Q- s# Pvoid creat(int array[])
u6 f7 Z+ x, i& Z" k( ^% ~/ C{int i;; |% d5 U# A# [& ?* ~( W5 N5 i4 P
printf("enter the array:\n");
7 ?# d) o5 ]; m0 v3 Nfor(i=1;i / z o0 H7 r( ~8 R7 O
scanf("%d",&array[i]);3 O7 j0 s w. F( ]& z
}
f0 Q4 X) X1 k0 y( L8 O- r4 K4 F) U/*显示*/
2 g! R6 n% o. svoid print(int array[])
3 S- s0 L! V; s3 B{int i;
' {) ^. j0 T2 U5 [! e4 ^printf("The numbers after sort is:\n");
' [/ ^# D% {" `2 a1 @, d5 ]% vfor(i=1;i
, l: F# y3 `, [- r5 E- v uprintf("%d ",array[i]);
2 X( g A9 p8 h% e# _/ {printf("\n");
. o) u9 M7 J* w}
8 G0 d' C- G( ?0 { Fmain()
e( C @7 [8 p9 F: c2 r{int a[11],i,x,chang;
; c: I7 P" [7 e- B( S* r4 y, U/*printf("enter the array\n");0 n$ v: R6 ~# ~8 `# u( L
for(i=1;i<11;i++)
& K+ m+ m+ H* Vscanf("%d",&a[i]);*/: k; m2 w, i8 G
aga:
8 ^0 [5 ?, n# I: h1 [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");3 @* @; g, D4 E5 ^
scanf("%d",&chang);; N; _/ k4 y8 H3 I) D
switch (chang)
) ^, p- ] o, ]. L! q2 f{case 1:5 \$ {' M# l8 i2 g* U
{creat(a);
9 b3 y, Y0 m, I. r/ Iprintf("Please int the search number:\n");
6 [9 Y% O2 F* Q4 m* d5 ?scanf("%d",&x);
/ A7 T5 i& r% L3 sprintf("The number station is:%d\n",search(a,N,x));
' @; @0 ?* e8 Z0 d9 f1 a3 B1 F5 y7 r. ?- ygoto aga;; e6 _) G% h- X6 {2 r
}
! ]1 G& V- G( p! C0 X% G3 zcase 2:" q5 \- N5 }. K
{ creat(a);
: I( I- X# q+ m. c$ |insertsort(a);1 w- b) o/ A; y* g5 D; U$ b9 R; ?
print(a);
' A+ o/ M/ P' H3 x% t2 `printf("Please int the search number:\n");
3 y7 ~( _' I' H, J0 G" wscanf("%d",&x);. k. `7 R1 B5 _4 Z
printf("The number station is:%d\n",halfsearch(a,N,x));( L% _& [) ?1 u0 m* c$ z0 C
goto aga;- ^% d% S. T+ ~5 M/ D
}- q4 H' n- t& T7 n
case 3:% q+ Z4 ~' V' c( j
{creat(a);) ?7 I% t2 ~/ f1 T! v0 }3 f
insertsort(a);" k# I- [$ V _. N7 s* ?2 f# N
print(a);
. B- m( u- q* d( c7 Vgoto aga;, ~0 M+ ?1 a3 _/ @: \& y
}( \2 p4 {3 n" B% z+ d
case 4:- {1 f' ?. g1 w8 r6 G N( A* g' A
{creat(a);. a" d2 h6 t+ k$ p) U* m/ L: H
mpsort(a);, L$ W$ Y( Z2 j7 ^) X0 e$ l
print(a);4 ]' _ C: G% i: S; ?( L) f
goto aga;8 A/ Q* J/ S6 \$ t
}
3 d* K* x$ I8 V# N) T4 |: ~6 {case 5:{ printf("exit!\n");break;}$ u& Z( O+ r# N% y7 ] \
default:{printf("Error!\n"); goto aga;}
3 ]; C) Q2 G j6 y: r; U}
8 @3 e6 O7 t( x3 J}
* X$ H$ Q( |5 a; A
3 ]3 J$ @4 T+ t2 `) F8 `! {; W |
zan
|