內部排序彙總

2022-09-18 09:00:46 字數 1001 閱讀 1997

直接插入排序

/* 直接插入排序 */

void insertsort(int a, int n)

} if (flag==false)}}

快速排序

參考之前文章:快速排序

// 一趟快速排序,劃分 

int partition(int a,int low,int high)

else

}a[start]=a[0]; // 被篩選結點的值放入最終位置

}/* 堆排序 */

void heapsort(int a, int n)

for (int j=n;j>1;j--) // 2> n-1趟的交換和建堆過程

}

參考之前的文章:二路歸併排序

// 一趟歸併排序演算法

int b[n];

void merge(int a,int left,int mid,int right)

while (i<=mid) a[k++]=b[i++]; // 若第乙個表為檢測完,複製

while (j<=right) a[k++]=b[j++]; // 若第二個表為檢測完,複製

// 最後兩個while迴圈只有乙個會執行

}/* 二路歸併排序 */

內部排序彙總

最近在複習各種內部排序演算法,照著書上的偽 敲了一遍,排序演算法實現本來不難,主要理解每種演算法的思路和複雜度以及穩定性。源 include include define n 150 include void insertsort int a a j 1 a 0 void shellsort int...

內部排序演算法彙總

3.快速排序 4.選擇排序 5.歸併排序o nlogn 6.桶排序 7.各個排序演算法比較 大部分演算法中,待排記錄的資料型別設為 define maxsize 20 乙個用作示例的小順序表的最大長度 typedef int keytype 定義關鍵字型別為整數型別 typedef struct r...

九大內部排序彙總

插入排序 名稱 穩定性時間複雜度 空間複雜度 直接插入排序 穩定o n2 o 1 折半插入排序 穩定o n2 o 1 希爾排序 不穩定o n2 特定n n1.3 o 1 交換排序 名稱 穩定性時間複雜度 空間複雜度 氣泡排序 穩定o n2 o 1 快速排序 不穩定o n2 o n 平均o nlog2...