8.SQL必知必會第八課 使用聚集函式彙集資料
阿新 • • 發佈:2021-01-08
排序演算法
# 冒泡
def maopao(alist):
for i in range(len(alist)-1):
for j in range(len(alist)-1-i):
if alist[j]>alist[j+1]:
alist[j],alist[j+1]=alist[j+1],alist[j]
print(alist)
maopao([3,5,2,8,1,9,4,7])
# 快排
def quick(list):
if len(list) < 2:
return list
tmp = list[0] # 臨時變數 可以取隨機值
left = [x for x in list[1:] if x <= tmp] # 左列表
right = [x for x in list[1:] if x > tmp] # 右列表
return quick(left) + [tmp] + quick(right)
li = [4,3,7,5,8,2]
print quick(li)
# 二分 (非遞迴的方式實現)
def func(list1,item):
first=0
end=len(list1) -1
while first<=end:
mid=(first+end)//2
if item==list1[mid]:
return True
elif item>list1[mid]:
first=mid+1
else:
end=mid-1
return False
print(func([i for i in range(1,101)],1))