选择排序之简单排序算法

Posted 亚洲哈登

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序之简单排序算法相关的知识,希望对你有一定的参考价值。

1.1简单选择排序

属于选择排序 
两两比较大小,找出极值(极大值或极小值)被放置在固定的位置,这个固定位置一般指的是 某一端 
结果分为升序和降序排列 

1.2降序

 n个数从左至右,索引从0开始到n-1,两两依次比较,记录大值索引,此轮所有数比较完毕,将 大数和索引0数交换,如果大数就是索引1,不交换。第二轮,从1开始比较,找到最大值,将它 和索引1位置交换,如果它就在索引1位置则不交换。依次类推,每次左边都会固定下一个大数。 

1.3升序

和降序相反

1.4区别于冒泡排序

冒泡排序,俩俩比较交换位置,
选择排序,每次循环找出极值,在交换索引

 

1.5利用python实现降序排序

m_list = [1,9,8,5,6,7,4,3,2]
length = len(m_list)
for i in range(length):
#假定索引0的位置是最大值
    maxindex = i
    for j in range(i+1,length):
#在第一次遍历极值的时候发现有比0索引还大的值,把此时的索引值赋值给maxindex
        if m_list[maxindex]<m_list[j]:
            maxindex = j
#当所有的值都是按降序排序的时候,不用进行交换,否则进行一下操作
    if i != maxindex:
        tmp = m_list[i]
        m_list[i] = m_list[maxindex]
        m_list[maxindex] = tmp
print(m_list)

 

以上是关于选择排序之简单排序算法的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之排序算法:选择排序

排序算法之选择排序(简单选择排序堆排序)

经典算法之选择排序

排序算法系列之选择排序

[Java数据结构与算法]简单排序之插入排序

8大常见排序算法之选择排序!