程序说明:
利用冒泡排序、直接选择排序分别实现指定数组的升序、降序排列,并可以选择指定排序函数。
Python代码如下:
#冒泡排序法实现升序排列
def bubble_sort(lists, sort = None):
if not sort:
count = len(lists)
for i in range(0, count):
for j in range(i + 1, count):
if lists[i] > lists[j]:
lists[i], lists[j] = lists[j], lists[i]
return lists
else:
return sort(lists)
#直接选择排序法实现降序排列
def select_sort(lists):
count = len(lists)
for i in range(0, count):
max = i
for j in range(i + 1, count):
if lists[max] < lists[j]:
max = j
lists[max], lists[i] = lists[i], lists[max]
return lists
#输入数据测试
s = [1, 5, 3, 9, 7, 13, 78, 54, 43, 32, 1, 4, 10]
print(s)
print('bubble_sort= %s' %bubble_sort(s))
print('select_sort= %s' %bubble_sort(s, sort = select_sort))
输出结果如下:
[1, 5, 3, 9, 7, 13, 78, 54, 43, 32, 1, 4, 10]
bubble_list= [1, 1, 3, 4, 5, 7, 9, 10, 13, 32, 43, 54, 78]
select_list= [78, 54, 43, 32, 13, 10, 9, 7, 5, 4, 3, 1, 1]
参考资料:
八大排序算法的 Python 实现