首页 > 编程 > Python > 正文

八大排序算法_python

2019-11-08 01:13:18
字体:
来源:转载
供稿:网友

1.冒泡排序

    冒泡排序即重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端;

步骤:

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一步后,最后的元素应该是最大的数。

3.针对所有的元素重复以上的步骤,除了上一步最后一个数不做比较。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码实现:

# _*_coding:utf-8_*_def bubble_sort(lst):    length = len(lst)    for index in range(length):        for i in range(1, length-index):            if lst[i-1] > lst[i]:                lst[i], lst[i-1] = lst[i-1], lst[i]    return lstif __name__ == "__main__":    test_lst = [10, 23, 1, 53, 654, 54, 16, 646, 65, 3155, 546, 31]    PRint bubble_sort(test_lst)

注意:列表交换元素不需要设置temp变量

lst = [1, 2, 3, 4, 5]lst[0], lst[1] = lst[1], lst[0]print lst2.选择排序

    从待排序的数据元素中选出最小(或最大)的一个元素,存放在每趟序列的起始位置,直到全部待排序的数据元素排完


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表