Selection sort 选择排序

Posted

tags:

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

Selection sort 选择排序

1、简单直观

2、数组中,找到最小的值,和第一个元素交换(如果第一个元素就是最小元素那么就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。依次类推。

下面来看一下伪代码

selectionSort(mylist){

    for(i=0;i<len(mylist);i++){

        min=i;

        for(j=i+1;j<len(mylist);j++){

            if(mylist[min]>mylist[j]){

                //如果mylist[min]的值大于mylist[j]的值 ,则交换min和j

                min=j

            }

        }

        //内循环完成,交换

        temp = mylist[i];

        mylist[i] = mylist[min];

        mylist[min] = temp

    }

}

#!/usr/bin/env python
# -*- coding:utf-8 -*-

def selection(mylist):
    for i in range(0, len(mylist)):
        min = i
        for j in range(i + 1, len(mylist)):
            if mylist[j] < mylist[min]:
                min = j

        mylist[i], mylist[min] = mylist[min], mylist[i]

    return mylist


a = [10, 2, 3, 1, 23, 14, 25, 68, 72, 81, 33, 56, 98, 102, 77, 56, 7, 4, 5]

print(selection(a))


本文出自 “coding” 博客,请务必保留此出处http://xtceetg.blog.51cto.com/5086648/1933331

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

选择排序(Selection sort)

选择排序(Selection Sort)

Algorithms - Selection Sort

排序算法选择排序(Selection sort)

选择排序—简单选择排序(Simple Selection Sort)

排序--选择排序Selection Sort Java实现