# include <stdio.h>
void print(int * a, int len)
{
for(int i=0; i<len; i++)
printf("%d ", a[i]);
printf("\n");
}
void swap(int * a, int * b)
{
int t = *a;
*a = *b;
*b = t;
}
void selsort(int * a, int len)
{
for(int i=0; i<len; i++)//执行n次
{
int min=i;
for(int j=i+1; j<len; j++)//执行n-1加到1次,近似于n的平方次
if(a[j]<a[min])
min = j;
swap(&a[i], &a[min]);
}
}
int main(void)
{
int a[5] = {8, 5, 6, 1, 5};
selsort(a, 5);
print(a, 5);
return 0;
}
选择排序和时间复杂度分析
最新推荐文章于 2022-08-26 16:42:11 发布