常用的排序演算法

2022-03-28 11:39:51 字數 651 閱讀 5850

排序是最基本的演算法,面試中可能都不直接考,但經常涉及到排序演算法的變種

我嘗試了下自己手寫,發現全部寫對,困難不小。

標頭檔案,習慣性將常用的標頭檔案都加入進去

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

const int maxn=100000;

先產生乙個100,000的陣列,並寫入檔案

int main()

}}

void mergetwoarray(int a, int lena, int b, int lenb)

}

void siftdown(int a, int i, int n)

}void heapsort(int a, int n)

}

void quicksort(int a, int n)

while(i0; step/=2)

a[j+step]=val;}}

}

常用的排序演算法

排序方式 插入排序 直接插入排序 shell排序 選擇排序 直接選擇排序 堆排序交換排序 氣泡排序 快速排序 歸併排序 分配和索引排序 基數排序 桶式排序 include using namespace std 直接插入排序 arr為待排陣列,n為陣列長度 void insertsort int a...

常用的排序演算法

1.氣泡排序 private static void bubblesort int a 列印氣泡排序的結果 for int i 0 i2.快速排序 public class quicksort qs.data data qs.sort 0,qs.data.length 1 qs.display 3....

常用的排序演算法

1.氣泡排序 時間複雜度 o n 2 氣泡排序演算法的運作如下 從後往前 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上...