首先建立一个新文件random_list.py用来随机生成整数列表,代码如下:
# -*- coding:utf-8 -*-
__author__ = 'ShawDa'
import random
def random_int_list(start, stop, length):
start, stop = (
int(start), int(stop)) if start <= stop else (
int(stop), int(start))
length = int(abs(length)) if length else 0
random_list = []
for i in range(length):
random_list.append(random.randint(start, stop))
return random_list
稳定排序:
1.冒泡排序
两两比较,从后到前,每一个循环确定一个循环内的最小值:
# -*- coding:utf-8 -*-
__author__ = 'ShawDa'
from random_list import random_int_list
def bubble_sort(arr):
# 从右到左,每次确定一个最小值
length = len(arr)
for i in range(length - 1):
for j in range(length - 1, i, -1):
if arr[j] < arr[j - 1]:
arr[j], arr[j - 1] = arr[j - 1], arr[j]
return arr
if __name__ == '__main__':
data = random_int_list(1, 100, 10)
print(data)
print(bubble_sort(data))
2.插入排序
从第二个数开始,从后往前,找到合适的位置将数插入:
# -*- coding:utf-8 -*-
__author__ = 'ShawDa'
from random_list import random_int_list
def insert_sort(arr):
length = len(arr)
if length == 1: