python之选择排序

Posted smallji

tags:

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


参考博客:
1,http://www.cnblogs.com/luchen927/archive/2012/02/27/2367108.html
2,http://www.cnblogs.com/ucos/p/5871354.html

思路:
从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,
就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。
前面介绍插入排序是固定元素,找位置。两种排序的思想是不太一样的。

实现技巧:
选择排序注意点(假设第一层循环变量为:i;第二层循环变量为:j):
1,[0,i-1]是已经排序好的元素。,
2,定义一个变量,用来记录本次循环下找到的最小元素的下标。
3,第二层循环是从[i,length -1]中找到最小元素的下标,用来与i元素交换。

Python代码:
# coding=utf-8

\'\'\'
选择排序:
思路:
从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,
就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。
前面介绍插入排序是固定元素,找位置。两种排序的思想是不太一样的。

实现技巧:

选择排序注意点(假设第一层循环变量为:i;第二层循环变量为:j):
1,[0,i-1]是已经排序好的元素。,
2,定义一个变量,用来记录本次循环下找到的最小元素的下标。
3,第二层循环是从[i,length -1]中找到最小元素的下标,用来与i元素交换。
\'\'\'

s = [2,31,13,1,13,13,1311,3,45]

# select_sort
for i in range(0, len(s) - 1):
    index = i
    for j in range(i + 1, len(s)):
        if s[index] > s[j]:
            index = j
    s[i], s[index] = s[index], s[i]

print s

结果:

 

 

 

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

选择排序之python

Python | 选择排序之树形选择排序

Python排序算法之选择排序

python之选择排序

经典排序算法和Python详解之选择排序和二元选择排序

python排序算法之冒泡,选择,插入