目錄
一、插入排序
二、冒泡排序
三、快排(遞歸)
四、選擇排序
生成一個長度為10的范圍在0~20的隨機數組
import random
temp_list = []
while True:
num = random.randint(0, 20)
if num not in temp_list:
temp_list.append(num)
if len(temp_list) == 10:
break
print temp_list
一、插入排序
def insert(list):
length = len(list)
for i in range(1, length):
temp = list[i]
j = i - 1
while j >= 0 and list[j] > temp:
list[i], list[j] = list[j], list[i]
print 'j:', j, list
i = j
j -= 1
print "finished:", list
二、冒泡排序
def bubble_sort(list):
length = len(list) - 1
for i in range(length):
flag = True # 優化
for j in range(length - i):
if list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
flag = False
print "::j", j, list
print "::i", i, list
if flag:
break
三、快排(遞歸)
def kuaipai(list):
if list == []:
return []
else:
temp = list[0]
left = [i for i in list if i < temp]
right = [i for i in list if i > temp]
return left + [temp] + right
四、選擇排序
def choose(list):
length = len(list)
for i in range(length):
x = i
for j in range(i, length):
if list[i] > list[j]:
x = j # 每次選出最小值
list[i], list[x] = list[x], list[i]
print list
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
