|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 2 A- Y; O/ A# d! `+ a0 U
) z- s+ ~/ u7 I* _0 F$ M$ V
实例- def search(arr, n, x): ) d+ C1 Z W9 ?
- # ^" h) C; c' Y( m
- for i in range (0, n): . k1 r$ S5 }+ C2 Q5 n
- if (arr[i] == x): - o# o1 D( t" H3 G) T" L: S
- return i;
9 q/ O7 M& F4 V! x9 A! X - return -1;
& j+ e: t4 W+ p* m' `$ I7 J# a - ' u' g" D4 U" y `2 L+ r2 A% p) ?5 s) E
- # 在数组 arr 中查找字符 D
& g* t4 E2 m8 } - arr = [ 'A', 'B', 'C', 'D', 'E' ]; 7 g/ j+ E+ z U0 p
- x = 'D';
: w6 d6 _" I/ C( V - n = len(arr);
3 G; ]! j- A8 y1 B8 ~4 k - result = search(arr, n, x) 2 B6 H4 B* a, n. H
- if(result == -1): 2 B$ b) y; b1 d- ~ d
- print("元素不在数组中")
% N/ W' _: y: R' u% v% k( o0 K1 h8 |4 k - else: , t: b: X! a% v: ~5 ~; P
- print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:
- A4 @1 [) u+ d
: @9 d7 q5 a5 q# q/ S$ g( Q案例1:- def LinearSearch(list):
: M! K3 ^: U0 b' f* y2 ` - num = int(input('Number:\t'))
+ m3 p( {) r: R - counter = 0" }3 i, C/ o% ]; o' v; a
- null = 0
& q4 I. p" P7 [% ]) H* R1 k - 9 Y0 C0 d! [) Z2 v5 z
- for i in list:+ k2 A0 L: v7 n. }# z3 O% h
- if i == num:% H% Q& W5 a6 O; P5 I! o8 s
- print('Find number {} in place {}.'.format(num, counter)) `9 g: {4 g+ } g- `" n
- else:" Z7 D3 P' g1 e" C6 T: C
- null += 15 o! @* @! h4 W. t. k# |
- counter += 1
, q! |" r* e) @& ?1 W- L5 p) o - if null == counter:
7 X1 ^4 c3 i b7 u4 V - print('Don\'t find it.')
7 q9 | k9 P' o" Q
6 U# a9 h9 T8 A8 P; ^ H- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]# g+ i0 [% G: }, w6 S
- LinearSearch(list)
复制代码 案例22 w) k3 P% {+ r( N
- def LinearSearch(num=50):
8 x9 X- A* Q* T0 D+ X9 i1 ^5 l - import random
5 U6 t4 d& f: {) Y- ?9 S: X2 x - random.seed(888)
0 g; s/ G3 [2 n$ L - data = []
! r0 t9 |" s8 o+ X5 i, W& H9 r - for i in range(15):) O0 P4 O: }4 f6 H
- data.append(random.randint(1, 100))+ ]% w* D# }# k K4 F8 P
- data.sort()
8 P$ `, g- [6 x) Q! ]: S - print(data)
* r' h$ Y) U5 D2 N1 l/ @7 `, j% f - for i in range(0,len(data)):; n, v( ^7 S' G" J3 @2 U
- if data[i]==num:
; r8 v' F6 Q9 ^4 \- n5 S - print(i)
# n5 W$ c; p- t+ L/ o3 }2 m - break2 M$ g5 x' }) }
- else:
6 T ?% t6 X# G y( q) D# b - print('查无此数')
6 s3 M8 q. q, h( q3 r2 w l - LinearSearch()
复制代码 # B( Q4 `8 R- K* y- H
& R }7 H0 C g. d( o# B& M" a
|
|