重拾數據結構~~~插入排序

寫自己理解的插入排序代碼

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章