码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序之简单排序算法

时间:2018-04-02 22:04:31      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:print   range   循环   index   索引   1.2   不用   int   class   

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)

 

选择排序之简单排序算法

标签:print   range   循环   index   索引   1.2   不用   int   class   

原文地址:https://www.cnblogs.com/harden13/p/8697988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!