一分钟学会循环顺序查找+快速排序——python实现

import random

#生成包含n个数的列表
def randomList(n):
mList = []
for i in range(n):
mList.append(random.randrange(1, 100))
return mList
#快速排序
def quickSort(ls):
if len(ls) <= 1:
return ls
left = []
right = []
temp = ls[0]
for i in range(1, len(ls)):
if ls[i] >= temp:
right.append(ls[i])
else:
left.append(ls[i])
return quickSort(left)+[temp]+quickSort(right)
#顺序查找

‘’’
函数名:sequentialSearch
形式参数:ls表示待查找列表 target表示要查找的数
返回值:已经找到数的下标所构成的列表
‘’’
def sequentialSearch(ls, target):
#列表 存储已经找到的数的下标
hadFind = []
#循环查找 如果找到了
for i in range(len(ls)):
if ls[i] == target:
hadFind.append(i)
return hadFind

if name == “main”:
n = eval(input(“请输入查找的数:”))
while n != 0:
ls = sequentialSearch(quickSort(randomList(100)), n)
print(ls)
n = eval(input())

猜你喜欢

转载自blog.csdn.net/qq_50709355/article/details/123312643