欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3实现冒泡排序和插入排序

程序员文章站 2022-06-11 19:26:42
...
# 普通冒泡排序 (排序:由小到大)
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)