寫自己理解的插入排序代碼
之前學習數據結構一直都沒有想着去復現經典的算法,只是對思想掌握個大概,一直沒有形成系統的知識鏈路,很容易忘記已經學過的東西,一到了動手操作就得找各種資料複習,於是想重新過一遍基礎,堅持~~~
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;
}