选择排序
维基百科,自由的百科全书
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。
// selection sort function module in C void selectionSort(int data[], int count) { int i, j, min, temp; for (i = 0; i < count - 1; i++) { /* find the minimum */ min = i; for (j = i+1; j < count; j++) { if (data[j] < data[min]) { min = j; } } /* swap data[i] and data[mi] */ temp = data[i]; data[i] = data[min]; data[min] = temp; } }
[编辑] 复杂度分析
选择排序的交换操作介于0和(n-1)次之间。 选择排序的比较操作为n(n-1)/2次之间。 选择排序的赋值操作介于0和3(n-1)次之间。