- 在线时间
- 5024 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2009-4-8
- 听众数
- 738
- 收听数
- 1
- 能力
- 23 分
- 体力
- 77451 点
- 威望
- 96 点
- 阅读权限
- 255
- 积分
- 27162
- 相册
- 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
6 E5 y' D2 q# l7 T _#include2 j. v' V, n# u% {
#define N 11
; k$ e& D5 j- f5 S4 N% f+ ?/*用**哨查找*/
9 _+ G6 H% m3 E+ Mint search(int array[],int n,int k)
) E$ ]8 I) o) r3 v# T5 t- d{int i;
5 j! T- d- n8 t0 w% {- qi=n-1;4 T4 X: g# ]$ a f7 n3 Q
array[0]=k;! B' E3 _6 {# k6 e2 ?. T; I) c, a
while(array[i]!=k) i--;
( q$ R- d. ?$ f" treturn(i);' k( R" u4 Y9 b4 c" W, I
}
6 c S( A) e& b* d. c9 u/*折半查找法*/
2 Q6 a2 c f# M$ xint halfsearch(int array[],int n,int k)4 I# r+ B n6 {
{int i,j,mid;
/ @8 h) _3 @) ^; n5 ci=1;j=n;
: c0 ?* i8 U0 Qwhile(i<=j)& u. Z& a# N4 M' {; A
{mid=(i+j)/2;
8 H) Y, @: G+ `+ a! g5 W- y' _if(k==array[mid]) return(mid);
* I$ n0 q/ V0 M4 Pelse if(k + V( N8 i) f0 R, _& A7 N
else i=mid+1;
/ i2 K- |9 B; [6 E: i% f, j}9 E: B9 A; Z! w) {
return(0);
/ T% D7 O8 C* T}
' b; {& `% k X6 F/ P/*冒泡排序法*/
3 e! u* l7 t8 L) `5 r" M6 Evoid mpsort(int array[])8 s# T( l7 R* }/ U
{int i,j,a;
. N7 U* i6 e) X5 k, W9 w1 ]' Oa=0;' s/ c* a6 e4 v! I" D. _3 l
for(i=1;i : e9 t( B" t0 i! r
for(j=i+1;j
0 d" c% Q1 p* L" Q( L' D. K2 uif(array[i]>array[j])
; c+ _ E/ B# s. Q' X/ s{a=array[i];5 d" t% {# p8 K$ d# o2 [
array[i]=array[j];
3 z( Q; w! C, f0 [9 ~8 farray[j]=a;}
) @3 j1 b( c. O& Y6 @}
; P. i9 o" I X, O2 Z- h/*直接插入排序*/
5 s. F$ L. D$ Z- v$ y) f0 ?1 W8 D& ovoid insertsort(int array[])) o s) \: H2 }9 I
{int i,j;- X) f4 j( }$ j4 `" B) H6 n/ h
for(i=2;i # V6 r2 e9 _2 E
{array[0]=array[i];$ Q( K5 H1 ^# r; I
j=i-1;) M! @) ?. M5 I( h. q
while(array[0]
- Q1 e8 L1 h, h; \" Y# t0 Y{array[j+1]=array[j--];
9 {( e% @# `0 @% Harray[j+1]=array[0];
. M' P, u0 p; O' v/ N) Q |% B}0 O- O4 v/ Y3 @' V D3 O( b
}2 z- V2 g! `! U- x, m
}# }$ V) p- A) s& S% z4 r5 z
/*建立*/
. @4 s2 J4 @% e4 r1 i3 p" Avoid creat(int array[])
2 D% l D1 t" A/ q" \0 x{int i;
8 V n4 I. X( v/ X, E$ ^printf("enter the array:\n");
* _8 { G' a" {& t# K# ], ~. h6 Zfor(i=1;i
3 \4 S$ b; I4 Lscanf("%d",&array[i]);
4 R- I, T- v6 [- f} G5 N2 ^. P7 u0 ~4 U, ~6 R
/*显示*/
5 X1 d% E1 D. {/ xvoid print(int array[])' a/ [- @' e9 I
{int i;# d p0 X# N: K3 e$ Z1 E) ^6 r
printf("The numbers after sort is:\n");
" C- n* C6 k$ Q. x& A! \for(i=1;i
7 y+ ?$ h" t" `0 \. O9 I7 Gprintf("%d ",array[i]);
# R) I3 i# X% q1 R5 L; w# ~' fprintf("\n");
; T ~& Q0 i* u3 C; b% ~$ k}
! F6 R- K2 W9 F) D/ f- ]main(). n x- d7 x- Y) R
{int a[11],i,x,chang;
8 q6 ] C" J# n3 d+ i; q/*printf("enter the array\n");9 H( i [; R" ?5 Y
for(i=1;i<11;i++)/ H0 I: `% _9 y% r6 T
scanf("%d",&a[i]);*/0 H. t* T9 l8 D6 V& F
aga:& @& V+ \, b+ C6 p' ]: F
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");
) [* ~: h* x" ?8 A6 L ^scanf("%d",&chang);
. q2 X- J7 O3 L X7 c$ B Dswitch (chang)$ j. T8 a& Q" h1 Z1 A" e
{case 1:- O4 J" J8 W8 b
{creat(a);
+ e1 o! G" @$ r. U& r% Jprintf("Please int the search number:\n");8 M0 Z8 @7 g# q2 c5 ~- `2 O N! h
scanf("%d",&x);
# A( P, f k7 k8 g4 p5 e) _: _# xprintf("The number station is:%d\n",search(a,N,x));+ |. M6 B' A6 X
goto aga;0 ~2 m' |4 J- L9 w" ]; a5 P5 C. r) L
}* ?7 U9 z. u+ F1 h1 g
case 2:' R0 x9 d7 [) t% M+ L: i
{ creat(a);
4 R) I9 c* H" d0 |$ {2 V7 Winsertsort(a);9 V! m: X$ ]' J2 e
print(a);
% l, v* ~; Z! ]8 p0 aprintf("Please int the search number:\n");2 ~" J( \1 S7 @
scanf("%d",&x);# s6 N% ?% a: L8 h4 Q" F9 M W. k
printf("The number station is:%d\n",halfsearch(a,N,x));2 w4 F1 J- W% t& U
goto aga;3 B" O$ F( n7 j
}& E/ b3 w9 A% M; W% W0 x
case 3:
# [& D" Q7 V2 s1 h; D' B{creat(a);
5 b8 Y9 y3 G$ F, h& }& ^# linsertsort(a);9 o: a. {; P! _! e2 T
print(a);1 F) {( o y5 n& I
goto aga;+ y0 W8 c" C0 Q \( F7 G
}
" S$ D# r2 B* v' j7 b, M- }case 4: Q# e9 g" e3 M, C
{creat(a);; W# E+ s1 s0 B+ s7 D! h
mpsort(a);8 F. d& F5 v9 v4 F1 u9 h
print(a);
, ]5 d3 d( [ u: `* ?goto aga;+ `% U+ o) G+ B" I& Q
}
0 p. k ?$ e" y; X, k1 C" C5 Kcase 5:{ printf("exit!\n");break;}
U2 c6 c4 W# X% m/ F8 b5 @* J/ Gdefault:{printf("Error!\n"); goto aga;}+ `$ E/ ^ e9 k( g, [5 b
}
0 f; `9 I! E& ?7 N" f}
: [* i3 y- K/ f
} ^% e/ N- u5 b |
zan
|