|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 9 J. Q/ M; u) W; u5 G+ o8 O
+ |' w$ ]( N: _4 v+ \ g
实例- def search(arr, n, x):
, D1 u! W, G& v' F -
" ]9 r5 R, ?" k y - for i in range (0, n): 5 h3 T$ h) A. l' s+ E8 J/ t* B
- if (arr[i] == x): 0 V3 O2 q9 c1 G7 a, m( U" ]
- return i; : P3 D# C9 V5 i
- return -1; : B( y- p3 t" ^, L/ W" X8 b
-
1 r8 a( x2 Q L# f! X+ C& r. J( s - # 在数组 arr 中查找字符 D
1 F) T' b6 d1 B5 S - arr = [ 'A', 'B', 'C', 'D', 'E' ];
4 e( q0 y/ f" Y9 ` - x = 'D'; 3 O' F; A0 |' b3 l
- n = len(arr);
( N+ H" k9 [6 S) E( } - result = search(arr, n, x) $ j: K& P5 u0 N+ Y2 _: Q( h- F
- if(result == -1):
/ {1 o! C+ |" S - print("元素不在数组中")
2 {0 e: P3 i3 S4 J" B, I - else:
6 j: y* L. Z* Z' T - print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:; j" W' B* |2 Y5 |* L% j. ^ }5 Z/ @
" D( h& t% a/ P8 J0 [3 R案例1:- def LinearSearch(list):0 a( T; [* m0 J/ X) G& r1 x
- num = int(input('Number:\t'))- V9 o' I, m7 U* \/ Q% @; g6 @
- counter = 0: g9 o4 X2 ^- x$ Z0 C
- null = 0
- v8 ?7 r, v. c - . `6 }, ]6 A, f' @. ^
- for i in list:2 \8 P) V1 \8 a
- if i == num:" k1 w" I0 r* k, Y- B
- print('Find number {} in place {}.'.format(num, counter))" O6 y6 I8 S2 X! H* k6 W
- else:
/ @# @; o7 R% l4 }7 f - null += 14 Y8 k6 w( c4 X
- counter += 1! `% A, M) R, m
- if null == counter:* Y3 y3 s) I; n; \, \
- print('Don\'t find it.')! \' y; w: y0 d* |
% X' z& _! J1 @5 V5 F- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]. W* L6 G/ n3 v8 w8 s# w9 b5 j! L3 T
- LinearSearch(list)
复制代码 案例2
7 I" P5 W* K1 ^- def LinearSearch(num=50):
9 ^8 J& G7 y; s; s& p) B1 } - import random
1 s7 z7 ]: V3 e8 a, K$ K - random.seed(888)4 q2 b/ U9 _8 ^ D0 i
- data = []
* R2 h! [+ b$ w0 U2 e2 C - for i in range(15):
& Q1 T8 g1 c( |1 u' N( }2 ^ - data.append(random.randint(1, 100))
) k2 ~7 A/ F2 k; S3 b - data.sort()* r4 W( d" z0 ^( b2 G4 C2 O4 B* I R$ d
- print(data). [) A& {/ \; L; Q3 Z q2 n$ t
- for i in range(0,len(data)):
/ P$ L# Y% T9 F! M# C - if data[i]==num:
* |+ J( r4 L- m1 q% e - print(i)9 h. O1 G- H% O& q0 [, Z
- break
7 c; n- ^1 Q% X; I' g$ W- j# V; T - else:, l P: H* a2 c
- print('查无此数')
# p. u3 k$ _6 }& s6 @# N1 E, `2 `) U - LinearSearch()
复制代码 4 T( |2 m1 K/ W v9 e! _
8 D2 X: a4 d& a+ ~ |
|