选择排序
选择排序:将一个无序列表有序化,每次从列表中选择最小或最大的元素放到一个新队列中
public static void SelectionSort()
{
var a = new[] { 10, 23, 14, 24, 57, 3, 7, 19, 87, 11 };
int i, j, temp, min;
for (i = 0; i < a.Length - 1; i++)
{
min = i;
for (j = i+1; j < a.Length; j++)
{
if (a[j] < a[min])
{
min = j;
}
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
foreach (var i1 in a)
{
Console.WriteLine(i1);
}
Console.Read();
}
def findSmallest(arr):
smallest = arr[0];
smallest_index = 0
for i in range(1,len(arr)):
if arr[i] < smallest
smallest = arr[i]
smallest_index = i
return smallest_index
def selectionSort(arr):
newArr = []
for i in range(len(arr)):
smallest = findSmallest(arr)
newArr.append(arr.pop(smallest))
return newArr
print selectionSort([5,3,2,7,8,10])