自己理解的选择排序
1.一趟循环中选取关键字最小的记录作为有序序列中的第i个记录
2.代码复现
#include<stdio.h>
int change_range(int La[],int length);
int main()
{
int List[100],L=0,i=1;
int *result;
printf("enter length of List:");
scanf("%d",&L);
while(i<L+1)
{
scanf("%d",&List[i]);
i++;
}
// for(i=1;i<L+1;i++)
// {
// printf("the list is:%d\n",List[i]);
// }
//调用插入排序函数
result=change_range(List,L+1);
for(i=0;i<L;i++)
{
printf("the list is:%d\n",*(result+i+1));
}
return 0;
}
int change_range(int La[],int length)
{
int i,j,min,temp,k;
for(i=1;i<length;i++)
{
//选择每一轮中最小的
min=La[i];
for(j=i+1;j<length;j++)
{
if(La[j]<=min)
{
min=La[j];
temp=j;
}
}
//移位
for(k=temp;k>=i;k--)
{
La[k]=La[k-1];
}
La[i]=min;
}
return La;
}
3.结果