DAY 2 选择排序

Posted 要不一起做梦吧

tags:

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

    今天要介绍的是一种傻傻的排序方法,它的主要思想就是找到待排序列表中最小(或最大)的元素,将这个元素放到空的列表中。之后再次进行上述的步骤,直到原来列表中的最后一个元素进入新建的列表中,算法运行结束。


    ok,实现代码如下:

# -*-coding:utf-8 -*-


#首先找出最小值的索引

def findsmallest(array):

#首先默认第一个元素为最小值

smallest = array[0]

smallest_index = 0


for i in xrange(1,len(array)):

if array[i] < smallest:

smallest = array[i]

smallest_index = i


return smallest_index


#现在开始选择排序

def selectionsort(array):

#新建空列表

newarray = []

#开始选择排序

for i in range(len(array)):

smallest_index = findsmallest(array)

newarray.append(array.pop(smallest_index))


return newarray

ok,现在来测试一下

输入以下代码

array = [5,6,9,10,2,1]

print selectionsort(array)

看看输出结果是不是符合我们的期望,有一个从小到大排列的新列表

成功!O(∩_∩)O

美滋滋地去玩吃鸡了...(●ˇ∀ˇ●)

(END)

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

Day562.冒泡排序&选择排序 -数据结构和算法Java

python开发之路Day17-算法设计(冒泡排序选择排序插入排序二叉树)

StringBufferStringBuilder冒泡与选择排序二分查找基本数据类型包装类_DAY13

java-选择排序

Day3 简单选择&插入&计数&桶排序

啥?选择排序还能这样写,太强!