1. 程式人生 > >Selection sort 選擇排序

Selection sort 選擇排序

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 選擇排序