冒泡排序
data = [32,25,95,68,12,73,65]
for i in range(len(data)-1):
for j in range(len(data)-i-1):
if data[j]>data[j+1]:
data[j],data[j+1] = data[j+1],data[j]
print(data)
选择排序
data = [32,25,95,68,12,73,65,65]
for i in range(0,len(data)-1):
min = i
for j in range(i+1,len(data)):
if data[j] < data[min]:
min = j
if min!= i:
data[i], data[min] = data[min], data[i]
print(data)
二分查找
def erfen(list,item):
if len(list) == 0:
return False
else:
mid = len(list) // 2
if list[mid] == item:
return True
else:
if item < list[mid]:
return erfen(list[:mid],item)
else:
return erfen(list[mid + 1:],item)
data = [1,2,3,4,5,6,7]
print(erfen(data,3))
斐波那契数列生成器
def Feb(n): a = 1 b = 1 for i in range(n): yield a a, b = b, a + b f = Feb(10) print(list(f))