简单排序算法的时间复杂度为n2空间负责度为1
下面上代码。
select——sort.h
/************************************************************************/
/* 简单的选择排序
通过n-1次比较,在n-i +1个元素中,找到最小的记录,然后将其与第i个元素交换
这样当i=n时,即有序
*/
/************************************************************************/
//a待排序数组,length 数组长度
void Select_sort(int a[], int length);
#include "Select_sort.h"
void Select_sort(int a[], int length){
for (int i = 0; i < length-1; ++i)//只需比较到n-1
{
int k = i;
for (int j = i + 1; j < length; ++j)//从i 到n-1找到最小值坐标
{
if (a[k] > a[j])
{
k = j;
}
}
if ( k != i) //找到最小值后和i交换
{
int temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}