|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。
/ y4 p7 R b0 x( o! G
+ e, W" t5 d# D4 l实例- def search(arr, n, x):
# S7 y0 P) r* X9 q1 v4 ~ -
5 V1 c, T- W5 }6 K* ? - for i in range (0, n):
( |$ h5 A' Q8 J$ J, H+ @ - if (arr[i] == x): 9 U' L" ?. ?/ }# o, A
- return i;
$ r8 _. U/ T( S' y, [8 j- y - return -1;
s8 T: ~3 o7 ~ - 0 H& s1 t* B2 |3 w8 D
- # 在数组 arr 中查找字符 D% B3 U c, S% P. n/ U+ f
- arr = [ 'A', 'B', 'C', 'D', 'E' ]; - K9 M( B, f2 z0 n+ n
- x = 'D'; ' ~( V5 M: m6 n, k# f* [$ R% d4 ]
- n = len(arr); P" W x* s" ^
- result = search(arr, n, x)
* ~: R- e( F# L* s' L, h8 l& H6 g - if(result == -1):
b, @" q( Z4 S8 {- P - print("元素不在数组中") 6 n$ ^; |- N x
- else:
4 c6 `5 N# Q) O% ^' m3 z6 I - print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:6 U) q! c u( F6 ^" @8 z
: O- v0 b0 w7 }2 `# f案例1:- def LinearSearch(list):
* W9 \: @% M5 \$ c6 r U - num = int(input('Number:\t'))
1 e+ _9 `' o3 j6 B% O - counter = 0
3 o8 H4 o7 W, l# v' L$ X% K4 m - null = 0) s7 |% O" O! N! T) N! X$ a
- * m/ w O, u6 a
- for i in list:! r! k0 q1 _/ ` {6 @
- if i == num:
; I/ h2 m. R6 t$ T4 G - print('Find number {} in place {}.'.format(num, counter))
' T: F5 Y4 Z+ c1 K1 L6 c4 t - else:
6 |: Z. T3 Y0 Q% p - null += 15 Q3 ~2 k- O9 [3 F
- counter += 1) @9 H/ h, m2 _: G5 U, h5 t6 u2 [& M
- if null == counter:
4 x6 C) s, N7 T - print('Don\'t find it.')
* {$ q' E+ q, F) P
8 P4 B. k/ W; I/ W- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]
0 o* I. k& `! V W# x l) g - LinearSearch(list)
复制代码 案例2
* W& s/ |2 f" }) w+ i/ o- ~) {- def LinearSearch(num=50):
- j( B8 ^; v# X" O4 X - import random2 H9 h9 A5 Y" e0 c5 f6 a
- random.seed(888)4 B+ K7 q. L6 G4 \' ]3 A& Y
- data = []/ F9 ?+ @7 f1 P' e: B) U
- for i in range(15):
( V7 E2 y. {. V# Z- b - data.append(random.randint(1, 100))
8 e4 Q/ @# y( F$ \5 O - data.sort()9 ]- |0 d4 b/ H0 v
- print(data)
4 c# d+ e% @6 h+ a! i - for i in range(0,len(data)):$ h5 s, S+ G" m
- if data[i]==num:% }. P5 I. ^. y
- print(i)
& P2 g) P! z6 s/ w4 ^ - break% Y' q% _5 G" U4 I3 E
- else:0 ^9 ~& }; ]3 n5 s! t5 T8 R
- print('查无此数')7 [" ~" q+ C5 _
- LinearSearch()
复制代码 9 \# E: x4 J5 {9 a2 I& D; @
% B; I$ Z# f2 J3 }- _! _& b' y! _
|
|