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)


 
 

猜你喜欢

转载自blog.csdn.net/danfeixia/article/details/72904387
今日推荐