|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
线性查找 指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 . i: z& s! N9 ^4 Y; s$ \9 ?
$ H) v- I8 M$ _实例- def search(arr, n, x): ; p1 K( A1 a% @" b, T# \
- , @8 V. `: f; a! o+ L
- for i in range (0, n): 7 c) z/ y4 U7 z! O
- if (arr[i] == x): ' }: V, A+ J! d7 B% D8 s' p
- return i;
2 Y3 A& b, c8 g3 B# O. d - return -1; , A7 m/ s" n8 l3 n, N
- ' q, o2 Z+ y) _( n* P' ?$ W
- # 在数组 arr 中查找字符 D
, b4 Q, s7 W! O, k - arr = [ 'A', 'B', 'C', 'D', 'E' ]; " S' c, c9 I. C0 U5 L. U: U
- x = 'D'; " [7 G" H) I) Q
- n = len(arr);
, U0 o* J0 b- o - result = search(arr, n, x) , M4 c u+ \( M; W
- if(result == -1):
' \( N; U: t* X( B. F - print("元素不在数组中") 6 [7 B, B0 z2 x2 ?4 T" j& _
- else: + R* E7 P( m% U$ ^% a8 ~. y2 Q+ x
- print("元素在数组中的索引为", result);
复制代码 执行以上代码输出结果为:
7 C _8 q, K5 D0 l' p+ p, z9 X1 J
! M! g7 }; t, N8 [( Y& V9 g @案例1:- def LinearSearch(list):2 x2 r- R) V5 j/ h. Z6 v
- num = int(input('Number:\t'))' a) c% y! V. o6 s( i
- counter = 0
, J; E2 u4 c! n l - null = 0
& e& @" M' [3 D! v1 _: h: b; d1 q - * M! p5 I# @+ C
- for i in list:
7 E$ x+ K2 Z, ]* r9 Y - if i == num:! ^' G7 o7 F v5 I) q, W; ]3 [9 i; J
- print('Find number {} in place {}.'.format(num, counter))
4 }, E- W, C, V% m; M- u - else:
8 K- j- T4 [7 o d p9 }/ ` - null += 10 F F6 L& z, I* q) V7 k; Y
- counter += 1
. X4 s9 u4 T7 o" e. U" h$ q9 M - if null == counter:" }1 `) m; T' f1 S, Z; I# C+ X& ?
- print('Don\'t find it.')$ [2 I3 N/ H) x/ {2 `: A
1 F& V' {, D3 {* B- list = [1, 2, 5, 7, 8, 34, 567, -1, 0, -1, -3, -9, 0]9 a, T H- X0 f( d# A' b9 l, W
- LinearSearch(list)
复制代码 案例22 o" W( e0 Q/ G
- def LinearSearch(num=50): u# F q8 N1 O7 a" \
- import random+ A3 q5 y1 @1 C$ q, P
- random.seed(888)
& d( e8 z' ]/ Z* J W. w' y - data = []" H) g2 ~2 d* X2 @
- for i in range(15):
) w1 V1 i- x2 `- s) ^) c - data.append(random.randint(1, 100))
, P# C! G2 m/ o. q. H - data.sort()
2 [9 `4 z- G: U+ v - print(data)
: b4 j/ c2 ?# s2 `; v6 I6 M - for i in range(0,len(data)):
6 v9 y; X0 \4 t# b' n - if data[i]==num:+ [3 }$ H% r3 L/ f: Q! s% p
- print(i)% f4 q3 h& t" k: O4 _$ T' ]# l0 S
- break
/ u: }* Z. V2 |2 L9 H2 s; t" _ - else:
) f8 R9 G! S3 c' w - print('查无此数')
# Q& q! h0 Y% g; X5 a$ ^# Q$ { - LinearSearch()
复制代码 ' a% ]( c4 `7 o' a. A, ]4 g3 X
, R4 k8 i, e/ R2 _$ y3 W% w
|
|