import random
# 生成随机数
li = [random.randint(0, 99) for i in range(100)]
print(li)
# 冒泡排序
def bubble(li):
for i in range(len(li) - 1):
for j in range(len(li) - i - 1):
if li[j + 1] < li[j]:
li[j + 1], li[j] = li[j], li[j + 1]
#
# bubble(li)
# print(li)
# 选择排序
def ch_sort(li):
for i in range(len(li)):
index = i # 记录下标
for j in range(i + 1, len(li)):
if li[index] > li[j]:
index = j
li[index], li[i] = li[i], li[index]
# ch_sort(li)
# print(li)
# 插入排序
def i_sort(li):
for i in range(len(li)):
for j in range(i, len(li)):
if li[i] > li[j]:
li[i], li[j] = li[j], li[i]
# i_sort(li)
# print(li)
def partion(li, l, r):
# 基准数
tmp = li[l]
while l < r:
# 先从右边找一个 比tmp小的放到li[l]的位置上
while l < r and li[r] >= tmp:
r -= 1
li[l] = li[r]
# 在从左边找一个 比tmp大的放到li[r]位置上
while l < r and li[l] <= tmp:
l += 1
li[r] = li[l]
# 归位
li[l] = tmp
return l
# 快排
def q_sort(li, l, r):
if l < r:
m = partion(li, l, r)
q_sort(li, l, m - 1)
q_sort(li, m + 1, r)
q_sort(li, 0, len(li) - 1)
print(li)