目錄
一、插入排序
二、冒泡排序
三、快排(遞歸)
四、選擇排序
生成一個(gè)長度為10的范圍在0~20的隨機(jī)數(shù)組
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 # 優(yōu)化
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
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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