Python怎么用循环实现选择排序?选择排序的实现方法如何编写?

之前我们了解过了python中的冒泡排序,今天学习一个新的排序方式,今天给大家分享一下Python怎么用循环实现选择排序?选择排序的实现方法如何编写?的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧 。

Python怎么用循环实现选择排序?选择排序的实现方法如何编写?

文章插图
【Python怎么用循环实现选择排序?选择排序的实现方法如何编写?】首先我们需要来了解一下,什么是选择排序 。选择排序的概念就是按照元素的大小,进行高低排序,首先得找出在一个序列中最大或者是一个最小的数,这要根据你自己的需求来决定,是按升序还是降序排列,然后在对其他剩余的元素进行同样的寻找排列,一种重复执行,知道所有的元素排序好为止 。举个例子:
实现步骤:
使用选择排序一共分成两步 。
第一步:将凌乱的列表元素量量比较,找出其中的最大值,然后将找出来的这个最大值放在整个序列的最后面,意味着这个最大值会直接跟这个序列中最末尾的一个值,直接进行交换了 。示例代码如下:
def select_sort(alist):    max_index = 0   最大值元素的下标,一开始假设下标为0的元素为最大值    for i in range(len(alist) - 1): 循环控制两两比较的次数   如果在比较的过程中发现,下标为max_index不是最大值,那么就改变max_index        if alist[max_index] < alist[i + 1]:            max_index = i + 1    循环结束后max_index就一定是最大值的下标,并且把该数和最后一个值做交换    alist[len(alist) - 1], alist[max_index] = alist[max_index], alist[len(alist) - 1]    return alistalist = [3, 5, 9, 2, 1, 7, 8, 6, 4]print(select_sort(alist))运行结果:
[3, 5, 4, 2, 1, 7, 8, 6, 9]第二步:对第一步操作直接进行n-1次 。
示例代码如下:
def select_sort(alist):    for j in range(len(alist) - 1): 外层循环递增n-1次        max_index = 0   最大值元素的下标,一开始假设下标为0的元素为最大值        for i in range(len(alist) - 1 - j):  内层循环递减,循环控制两两比较的次数            如果在比较的过程中发现,下标为max_index不是最大值,那么就改变max_index            if alist[max_index] < alist[i + 1]:                max_index = i + 1       循环结束后max_index就一定是最大值的下标,并且把该数和最后一个值做交换        alist[len(alist) - 1 - j], alist[max_index] = alist[max_index], alist[len(alist) - 1 - j]    return alist alist = [3, 5, 9, 2, 1, 7, 8, 6, 4]print(select_sort(alist))到此这篇关于Python怎么用循环实现选择排序?选择排序的实现方法如何编写?的文章就介绍到这了,更多相关python实现排序算法内容可以继续关注学习 。

推荐阅读