冒泡排序
def bubble_sort(array):
if len(array) <2: ##当只有一个元素是退出
return array
else:
num = 0
for j in range(len(array)-1):
for i in range(len(array)-1-j):
num += 1
if array[i] > array[i+1]:
num = array[i+1]
array[i+1], array[i] = array[i], num
print(array) ##每次循环都输出列表
return array
以上是冒泡的核心代码
array_0 = [15, 4, 57, 99, 11, 76, 2]
print("原序列:")
print(array_0)
print()
print("排序过程:")
print(bubble_sort(array_0))
运行结果如下
原序列:
[15, 4, 57, 99, 11, 76, 2]
排序过程:
[4, 15, 57, 99, 11, 76, 2]
[4, 15, 57, 99, 11, 76, 2]
[4, 15, 57, 99, 11, 76, 2]
[4, 15, 57, 11, 99, 76, 2]
[4, 15, 57, 11, 76, 99, 2]
[4, 15, 57, 11, 76, 2, 99]
[4, 15, 57, 11, 76, 2, 99]
[4, 15, 57, 11, 76, 2, 99]
[4, 15, 11, 57, 76, 2, 99]
[4, 15, 11, 57, 76, 2, 99]
[4, 15, 11, 57, 2, 76, 99]
[4, 15, 11, 57, 2, 76, 99]
[4, 11, 15, 57, 2, 76, 99]
[4, 11, 15, 57, 2, 76, 99]
[4, 11, 15, 2, 57, 76, 99]
[4, 11, 15, 2, 57, 76, 99]
[4, 11, 15, 2, 57, 76, 99]
[4, 11, 2, 15, 57, 76, 99]
[4, 11, 2, 15, 57, 76, 99]
[4, 2, 11, 15, 57, 76, 99]
[2, 4, 11, 15, 57, 76, 99]
[2, 4, 11, 15, 57, 76, 99]
选择排序
def Selection_Sort(list2):
if len(list2) <2 :
return list2
else:
for i in range(0, len (list2)-1):
min_num = i
for j in range(i + 1, len(list2)):
if list2[j] < list2[min_num]:
min_num = j
list2[i], list2[min_num] = list2[min_num], list2[i]
print(list2) ##显示每次选择的结果
print("最后结果: ")
print(list2)
以上为选择排序的核心代码 请忽略 print
List =[19,5,99,38,59,37,22,4]
print('原序列: ')
print(List)
print('选择排序过程:')
Selection_Sort(List)
运行结果如下:
原序列:
[19, 5, 99, 38, 59, 37, 22, 4]
选择排序过程:
[4, 5, 99, 38, 59, 37, 22, 19]
[4, 5, 99, 38, 59, 37, 22, 19]
[4, 5, 19, 38, 59, 37, 22, 99]
[4, 5, 19, 22, 59, 37, 38, 99]
[4, 5, 19, 22, 37, 59, 38, 99]
[4, 5, 19, 22, 37, 38, 59, 99]
[4, 5, 19, 22, 37, 38, 59, 99]
最后结果:
[4, 5, 19, 22, 37, 38, 59, 99]
基本排序算法实现,用来练习python基础的语法。
当然python 有更方便的排序方法。