用python代码来实现选择排序

2021/11/11 22:11:48

本文主要是介绍用python代码来实现选择排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

依照惯例,在写每一篇帖子之前,笔者都会遵循以下几点原则:
  1、如果一个什么都不懂的人都能把这篇文章看懂,那就说明这篇博客通俗易懂
  2、尽量保持排版整齐,让读者阅读起来不是那么累,简单舒服即可
  3、尽可能的保证所写的东西是正确的,若能帮到疑惑中的你一点点小作用,是笔者坚持写下去的动力
一、选择排序
什么是选择排序?
选择排序的原理是什么?
能不能用python代码敲出一个实例?
这是接下来这篇文章要讲清楚的三个问题。
选择排序:从字面意思上来看,是选,说明极有可能是选元素。其实质上就是每一轮选择出一个元素,并调换位置即可。
接下来,我举个例子,用选择排序的方法,进行升序排列;说白了就是每一轮选出最小的元素而已
请看如下列表:【11、25、2、88、9、76、43】,我们对它先进行分析
  第一轮,找出最小元素2,把它放在最前面,因此2与11的位置互换,变成 2、25、11、88、9、76、43
        此时,已经选择出最小元素2,那么在后面的元素中,再找出最小的元素
  第二轮,找出最小元素9,把它放在前面,25与9的位置互换,变成 2、9、11、88、25、76、43
        此时,已经选择出元素9,那么继续在后面的元素中找
  第三轮,找出最小元素11,刚好在第一个,不用变,仍然为 2、9、11、88、25、76、43
  第四轮,找出最小元素25,放在最前面,88与25的位置互换,变成 2、9、11、25、88、76、43
        此时已经选择出元素2、9、11、25,还剩三个未选择
  第五轮,找出最小元素43,放在最前面,88和43的位置互换,变成2、9、11、25、43、76、88
因此,这样就可以经过排序将列表的元素升序排列出来

看下面的python代码实现:

def select_Sort(arr):
    for i in range(len(arr) - 1):
        # 记录最小数的索引
        minIndex = i
        for j in range(i + 1, len(arr)):
            if arr[j] < arr[minIndex]:
                minIndex = j
        # i 不是最小数时,将 i 和最小数进行交换
        if i != minIndex:
            arr[i], arr[minIndex] = arr[minIndex], arr[i]
    return arr


li2 = [11, 25, 2, 88, 9, 76, 43]
print(select_Sort(li2))

 



这篇关于用python代码来实现选择排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程