資料結構之排序演算法

2021-06-22 01:54:20 字數 1247 閱讀 9264

1.插入排序

-》直接插入排序

#include void insertsort(int *unsort ,int length)

unsort[j] = temp;

} }}

int main(void) ;

insertsort(num,7);

int i =0;

for(i; i< 7; i++)

return 0;

}

-》折半插入排序

#include void insertsort(int *unsort ,int length)

else

}int j =0;

for( j = i-1;j>=high + 1;j--)

unsort[high + 1] = temp;

} }}

->2路插入排序

void cinsertionsort::path2insertion(void)  

; //對順序表l作2-路插入排序。

int d[length] = ;

d[0] = l[1];//l中d的第乙個記錄為d中排好序的記錄。

int first = 0, final = 0;//first、final分別指示d中排好序的記錄的第1個和最後1個記錄的位置。

for (int i = 2; i <= length; ++i)//依次將l的第2個~最後乙個記錄插入d中。

else if (l[i] > d[final])//待插入記錄大於d中最小值,插入到d[final]之後(不需移動d陣列的元素)。

else//待插入記錄大於d中最小值,小於d中最大值,插入到d的中間(需要移動d陣列的元素)。

d[j + 1] = l[i];

} }

for (int i = 1; i <= length; i ++)//迴圈把d賦給l。

//列印排序結果。

for (int i = 0; i <= length; ++ i)

cout << endl;

}

-》shell插入排序

void shellsort(int v, int n)    

v[j+gap] = temp;

}}

資料結構之排序演算法

學過好久的東西,感覺都忘記的差不多了,雖然可能日常寫 的過程之中也可能寫過一些演算法,但是從來都沒有規整,最近忙裡偷閒,寫點關於排序的演算法,當然好多人都寫過一些很不錯的演算法blog,我寫一下,只是方便自己日後檢視,當然也給有需要的朋友一些參考,歡迎指正 排序演算法有 氣泡排序,選擇排序,插入排序...

資料結構之排序演算法

1 直接插入排序 將乙個記錄插入到已經排好序的有序表中,只有當排序結束時每個元素才能進入到正確的位置,複雜度為o n2 優點 演算法簡單 易行,當待排序記錄數量較少時,該演算法非常有效 缺點 資料規模較大時,效率比較低。演算法insertsort r,n insertsort1.插入排序 for j...

資料結構之排序演算法

這是我在學習資料結構的時候,寫的一些簡單 關於各種排序,查詢演算法,可以作為他人學習資料結構的時候參考用 由於寫的比較匆忙,難免有問題,如有問題,歡迎指正!include include 插入排序 對於每乙個元素位置i,先查詢他對於前面已排序的位置j,然後 再將j到i之間的陣列往後移位,將j位置插入...