python列表排序
1、冒泡排序冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
def bubble_sort(list):
n = len(list)
for i in range(n - 1):
for j in range( 0,n - 1 - i):
if list > list:
list, list = list, list
# if list > list:
# list, list = list, list
print(list)
list=
bubble_sort(list)
#结果:
2、插入排序
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前的扫描过程中,需要把已排序元素逐步向后挪位,为最新元素提供插入空间。
def insertion_sort(list):
n = len(list)
for i in range(1, n):
for j in range(i, 0, -1):
if list < list:
list, list = list, list
else:
break
print(list)
insertion_sort()
#结果:
3、选择排序
选择排序(Selection Sort )是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素。放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
def selection_sort(list):
n = len(list)
for i in range(0, n -1):
min_index = i
for j in range(i + 1, n):
if list > list:
min_index = j
if i != min_index:
list, list = list, list
print(list)
selection_sort()
#结果:0, 1, 2, 3, 4, 5, 6, 9, 9, 42, 66]
总结:
import random
# 随机生成1-1000之间无序序列整数数据
def generator():
random_data = []
for i in range( 0, 10 ):
random_data.append( random.randint( 1, 1000 ) )
return random_data
# 冒泡排序
def bubble_sort(list):
# 序列长度
n = len( list )
for i in range( 0, n ):
for j in range( i , n ):
if list > list:
list, list = list, list
return list
# 选择排序
def selection_sort(list):
n = len(list)
for i in range(0, n -1):
min_index = i
for j in range(i + 1, n):
if list > list:
min_index = j
if i != min_index:
list, list = list, list
return list
#插入排序
def insertion_sort(list):
n = len(list)
for i in range(1, n):
for j in range(i, 0, -1):
if list < list:
list, list = list, list
else:
break
return list
if __name__ == "__main__":
# 生成随机无序数据
list = generator()
# 打印无序数据
print( '随机生成的无序数据:',list )
# 冒泡排序
sorted_data = bubble_sort( list )
#插入排序
insertion_data=insertion_sort(list)
#选择排序
selection_data=selection_sort( list )
# 打印排序结果
print( '冒泡排序:',sorted_data )
print( '插入排序:', insertion_data )
print( '选择排序:', selection_data )
'''
结果:
随机生成的无序数据:
冒泡排序:
插入排序:
选择排序:
'''
【免责声明】本文部分系转载,原文来源:php中文网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!
页:
[1]