|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 6 ~8 W( Q3 z$ M9 F/ o5 L+ e
; e3 S: n# }) @ b实例- def search(arr, n, x): $ f; d2 I# d5 A1 Y/ a
- C1 m4 [* j- j6 l
- for i in range (0, n):
/ ^: F6 }; I, R) \0 y4 h: [- c1 Z/ i! o - if (arr[i] == x):
; o1 q; H1 E4 a - return i; # T1 g3 ^' R/ {' C8 Y
- return -1;
: G5 c5 U) s! q8 f6 A1 P3 J - $ p5 e* N) p. z8 l% Z
- # 在数组 arr 中查找字符 D' \- H) b( B3 [1 f) t! D- D
- arr = [ 'A', 'B', 'C', 'D', 'E' ]; " o7 @5 i2 m1 j) k d$ Q
- x = 'D';
9 b2 ^. u3 l6 j1 J. _5 p& R/ | - n = len(arr);
& A* C2 m& e" L- g+ p1 ]; O. `1 ` - result = search(arr, n, x)
, v0 O. ^* R8 K% @ - if(result == -1): ' C7 @% s. l. L8 t; M+ H2 d t, q
- print("元素不在数组中") 1 o& G* \% y% R, a( {* ?9 N
- else: : f3 M5 E2 Q; g! j$ R9 H
- print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为: N) P9 e0 b: m* Z# t
. _+ h9 C! ~. S: b/ {案例1:- def LinearSearch(list):
/ n% t1 D1 U- {8 d' V* N. J3 L1 } - num = int(input('Number:\t'))* N8 O0 _! J/ e! w( ~
- counter = 0, i5 l8 r0 }8 Q% N' h2 z
- null = 04 A$ k& }' N6 `, ?4 O, g6 V
- ! q! W! H6 I- j$ [+ @
- for i in list:
# U$ I) V% ~! e/ d7 P6 i - if i == num:
( N( J) S6 ~( b - print('Find number {} in place {}.'.format(num, counter))9 ?* R4 X$ k( S' l+ C
- else:& E' i( o( c/ z' M# |* y4 g+ x
- null += 1' L0 X8 X: ]9 U: m" u/ x
- counter += 10 x O0 ~9 j6 P/ `! ]4 w
- if null == counter:5 e* ~! X1 I! l3 ~
- print('Don\'t find it.')' f! }6 y$ I \8 t
2 S& ?, x; q3 c0 x2 C- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]$ Y* M$ z7 Z' a
- LinearSearch(list)
复制代码 案例25 n; B, i% k- k# c2 d# `( Z
- def LinearSearch(num=50):
. E9 ?. ]9 F0 i6 ?3 c8 t! \ - import random# N& b# S/ P _6 \/ P- \& n
- random.seed(888)
" D6 r. W8 ?' d' \ - data = []
4 O! J7 C7 z' ?* }4 e4 |* ?! [ - for i in range(15):; i7 z% I' ^+ |: s( D" `1 T6 a0 j( R
- data.append(random.randint(1, 100))
% x j0 d! R8 P( x - data.sort()8 U" ]6 ~5 m) l6 z5 {- ~
- print(data)4 i: C" v% c5 ~7 _
- for i in range(0,len(data)):9 x- i+ B( `* N; T4 T7 l; t
- if data[i]==num:3 F" S! J$ {' L; D
- print(i)- M) j3 M( n6 Z% Z* ~3 Y6 C
- break
- _$ ^3 j. C% p. f7 g - else:2 P8 h0 ?6 T8 V- Q1 \ o
- print('查无此数'), Q% R7 K @+ ~: \8 J& b/ g
- LinearSearch()
复制代码 * c; s+ L7 ]' y8 D: P/ \/ L6 ^1 w$ V
0 u2 `' `) N8 b+ u% s" [! y |
|