写自己理解的插入排序代码
之前学习数据结构一直都没有想着去复现经典的算法,只是对思想掌握个大概,一直没有形成系统的知识链路,很容易忘记已经学过的东西,一到了动手操作就得找各种资料复习,于是想重新过一遍基础,坚持~~~
1.(自己的理解~插入排序):插入排序就是将单个数据插入到有序的序列中,这个有序序列可以是单个数据,这基本形成我的思路
2.代码复现
#include<stdio.h>
int Insert_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=Insert_range(List,L+1);
for(i=0;i<L;i++)
{
printf("the list is:%d\n",*(result+i+1));
}
return 0;
}
int Insert_range(int La[],int length)
{
int i,j;
for(i=1;i<length;i++)
{
int a=La[i];
for(j=i-1;j>0;j--)
{
if(La[j]>=a)
{
La[0]=a;
La[j+1]=La[j];
La[j]=La[0];
}
else
{
break;
}
}
//}
}
return La;
}