|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 # B! Z" b* }' v, g6 o7 U
% _! y; h6 g; c1 \5 ]/ E! u
实例- def search(arr, n, x):
, l* e4 J ^5 ~% l5 R* G3 D7 Z - & I' n7 b+ P" A6 c/ C8 `
- for i in range (0, n): ; ?, u N R8 j; \8 @. T0 S
- if (arr[i] == x): 0 x. O+ _ h! Z" X, c1 }9 {( \
- return i; ; F5 S6 k) T( d
- return -1; 5 b+ k# p+ h$ `
-
+ X- j N+ v+ [& s - # 在数组 arr 中查找字符 D$ V1 y' l* S6 {" F5 h4 Y" [4 g
- arr = [ 'A', 'B', 'C', 'D', 'E' ];
5 @# K5 t5 r, F' ~9 c6 p - x = 'D'; & F8 h! M! k! Q1 v2 `
- n = len(arr);
6 v1 M5 F; m! j# e - result = search(arr, n, x) 8 O2 ]$ G s. u! _' z/ @
- if(result == -1): ( a) r" y( n* i" A2 \! z
- print("元素不在数组中") " w) y% k4 i& k/ p# q6 U; g" y0 P
- else:
0 L" Q: V$ y/ D, f: O* y" E" Q, H - print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:3 S& O* I( v! l7 S* A8 n& e$ p
% k4 A. `! K, J1 o) O案例1:- def LinearSearch(list):* y! F4 V% h0 }7 s7 u( _: q" a
- num = int(input('Number:\t'))7 p; }, i: G. d! V) R5 w/ k5 s+ _
- counter = 07 k) s! Z+ t3 I# X ^8 }
- null = 0( i( Q' v8 _' F3 }; |. h) W
& G8 j0 x4 d }0 s- for i in list:9 O; n: [7 Q4 `' ~# M- O4 L
- if i == num:
5 P& p; i3 [6 W; `9 y/ s - print('Find number {} in place {}.'.format(num, counter))2 @* [( u/ n/ B! h+ I
- else:) p$ M0 P! A( d! I% }5 d/ t1 _1 c* H
- null += 1
4 b) b/ M* Y- e: v - counter += 1! O) \# Y' ?( ^" I+ m M. r* @
- if null == counter:
& u: {" }) P: s% f! [ - print('Don\'t find it.')" J u! e6 D* ]+ ~1 O8 w
2 T( f$ w) G# t. L+ B- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]
" e: y5 `, ?# q. y% ~7 t) Z - LinearSearch(list)
复制代码 案例2! ?! i( Z& _/ n
- def LinearSearch(num=50):' Z% ]5 z5 \' | s0 b
- import random0 O+ u0 u# r; R
- random.seed(888)
' e! K$ z5 |. z# x( q) ?4 j - data = []( I# g% h/ U9 ]; N; t) X8 B) `0 s
- for i in range(15):' s( |7 Q6 v' i* C1 `
- data.append(random.randint(1, 100))
( j3 m7 X9 Q) u - data.sort()
3 ]: w# b" A1 N& n Y - print(data)1 L1 Q' w4 ]' M0 `+ [' P
- for i in range(0,len(data)):+ u! P4 h2 b6 e6 ^+ ]; w) x
- if data[i]==num:
3 g) w# W+ \: r4 ?9 W4 `- P - print(i)0 R& r! q( M, ]1 q
- break. k$ l; w7 ]4 | a' g8 G+ M
- else:# g1 O" a6 T0 t4 W6 r
- print('查无此数')
* e$ `6 c7 z/ P) ?& W, p - LinearSearch()
复制代码
j8 F2 p' s' F' |# \ O# b+ P
6 H7 F b: y) y; R3 _+ W0 f |
|