工作原理: 首先在未排序序列中, 找到最小元素, 存放在排序序列的起始位置. 然后, 再从剩余未排序元素中,继续寻找最小元素, 放到排序序列末尾. 以此类推, 直至所有元素排序完毕.
selectionSort.c / C
void selectionSort(int array[], int length)
{
int i, j;
int min;
int temp;
for (i=0; i<length-1; i++)
{
/* find the minmum */
min="i";
for (j=i+1; j<length; j++)
{
if (array[min] > array[j])
{
min="j";
}
}
/* swap array and array[min] */
temp = array;
array = array[min];
array[min] = temp;
}
}
平均复杂度: O(n^2)
另见
文章评论(0条评论)
登录后参与讨论