选择排序:20年前在谭浩强《c语言程序设计上》学习过(43)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

今日主题

什么是选择排序?

用Python写段代码,实现插入排序。

选择排序

选择排序是一种简单的排序算法,它的基本思想是在待排序的数列中,找到最小(大)的元素,然后将其放到数列的起始位置,再从剩余的未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

以此类推,直到所有元素均排序完毕。具体实现过程如下:

  1. 在未排序序列中,找到最小元素,记录其位置。

  2. 将最小元素与未排序序列的第一个元素交换位置。

  3. 在剩余未排序元素中,重复步骤1和步骤2,直到整个序列排序完成。

选择排序的时间复杂度为 O(n^2),适用于数据量较小的情况。

认真看下图,秒懂:

Python实现

如果你理解了上述过程,不妨写代码实现下,看能否把思路变成代码,这很重要。

list1=[4,6,32,5,12,2,15,28,9,10]length=len(list1)
print("排序前:",list1)
for i in range(length - 1):    min_index = i    for j in range(i+1,length):        if list1[min_index] > list1[j]:            min_index=j        list1[min_index],list1[i] = list1[i],list1[min_index]    print(f"第{i+1}轮排好序时{list1}")        print("最终排好序的列表:",list1)

猫爸说,二十年前,他上大学那会,学的第一门编程语言是c语言,作者是谭浩强教授。

c语言也是一门非常流行的语言,应用领域非常广。

那本书中有讲到选择排序和冒泡排序,必考内容,刚毕业时,面试也经常考试这个,发张A4纸手写代码。

好长时间不用,都忘记了。

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

猜你喜欢

转载自blog.csdn.net/parasoft/article/details/130735987
今日推荐