|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。
" S9 [/ ]* T9 F+ B m
9 f6 A9 H( j+ c6 n- {4 F3 R
实例- def search(arr, n, x): % k0 B) g( H5 \' _& N1 P
- 3 U+ W; [) W' m
- for i in range (0, n): 5 w" `2 C9 Y4 J# Q
- if (arr[i] == x):
+ `9 i; k) Y0 G - return i;
2 U( L3 R/ l. m5 F. h& M: q/ E - return -1; + Y* o3 S# K3 W* h, o( L8 z' ]
-
% N' ]/ S$ } x; I. ?5 x* d - # 在数组 arr 中查找字符 D1 X3 ~1 |5 n1 G# B$ ]' I
- arr = [ 'A', 'B', 'C', 'D', 'E' ]; $ B! `" p0 D- T+ ^/ |/ Y' F3 y: `
- x = 'D';
! c R/ V& u8 e8 E7 k3 I - n = len(arr); 1 P- O! y |; r3 L
- result = search(arr, n, x) 5 M6 f/ w. ~5 J$ a
- if(result == -1):
) f* |- w. H; \. H% { - print("元素不在数组中") / h- Q. d) l0 m& A& v' ? i1 e; T' h
- else: ' c7 G- K4 C0 |% G1 b) S
- print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:& L' h3 m9 u' ^, C
% u* ]4 U9 A. G* `4 D) M9 C ^) A
案例1:- def LinearSearch(list):
3 L6 X c2 u- N6 i - num = int(input('Number:\t'))
) e+ s8 \9 S( p# K - counter = 04 n: o& w8 y4 @& |- E# c# v- X
- null = 0. u% W( X9 I3 e* i
- $ @6 |) K1 u! p
- for i in list:
# J6 @3 v! K2 O0 H0 q; Z ^ - if i == num:5 ^/ M) ?( c% c6 y
- print('Find number {} in place {}.'.format(num, counter)); y/ b5 |+ q7 @6 l( u2 D5 e
- else:
G5 T3 ?, t# n* H - null += 1
6 _3 A, d; Q' Q \+ J - counter += 1
: T5 U, Y3 U* h, L" B0 s: } - if null == counter:/ Y0 c$ |0 V8 J
- print('Don\'t find it.')
1 L3 }2 \) U$ `8 N% L9 | u q
# V; `( \5 f0 X7 T$ b2 B- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]) O- w3 Y# Z( i
- LinearSearch(list)
复制代码 案例2
3 W1 N3 \; n4 z$ o: [! \! E- def LinearSearch(num=50):
, ^. D) A& T/ ]' L - import random
3 `# \/ r" ^: k# C3 T - random.seed(888)/ b6 ]7 v: a# c' [. u
- data = []8 \* H( Z: J7 F0 C# \2 V
- for i in range(15):8 @3 }6 ?" i0 t
- data.append(random.randint(1, 100))* t `, ~+ E. w& C+ b8 \' z0 k3 N7 f
- data.sort(); \' p" P0 X0 z4 ~6 U0 e9 @
- print(data)4 R2 K) a0 z& Y0 A
- for i in range(0,len(data)):3 ]' l( s' D: x4 S F1 h* w" |
- if data[i]==num:
s6 c( H6 `- V3 }. Z- L5 l - print(i)) f: O1 ?4 Q. O: g, v" |! Z
- break
8 c" c! H% l2 m4 P - else:
; k# _. w8 ]$ ?* F% n) T - print('查无此数')
4 ?, N: o" b7 d - LinearSearch()
复制代码
! [1 V4 b3 O# r& Q- }% V5 U4 _5 l& \1 L# t& c$ n$ A" D
|
|