python3實現冒泡排序和插入排序

# 普通冒泡排序 (排序:由小到大)
import random

list_data = []
for i in range(10):
     list_data.append(random.randint(0,20))

list_len = len(list_data)-1

for i in range(10):
     for j in range(list_len-i):
            if list_data[j]>list_data[j+1]:
                   tmp=list_data[j]
                   list_data[j]=list_data[j+1]
                   list_data[j+1]=tmp
print (list_data)
#-------------------------------------------------------------------------------------
# 插入排序 (比冒泡更高效,排序:由小到大)
import random

list_data = []
for i in range(10):
     list_data.append(random.randint(0,20))

list_len = len(list_data)

for i in range(1,list_len):
    j=0
    #分水嶺:前面是j的有序list,後面是需要排序的無序list
    while(j<i):
        if(list_data[j]>list_data[i]):
            break
        j=j+1
    tmp=list_data[i]
    k=i
    #每取一個值,排序一次,將list中元素位置移動一次
    while(k>j):
        list_data[k]=list_data[k-1]
        k=k-1
    list_data[k] = tmp
print (list_data)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章