就按照《演算法導論》裡面的順序寫吧 。
原理都不講了,只是貼一下**,給參考。其實書上也寫得很清楚,我只是用c++實現出來而已。
1.歸併排序(merge sort)
#include #include #include #include #include using namespace std;
/*二路歸併排序(遞迴實現)*/
void merge(int *a,int l1, int r1,int l2, int r2) }
int main() ;the array won't show up if you write like this.
int a=;
print(a);
insertion_sort(a);
print(a);
}
3.快速排序(quicksort)
#include #include #include #include using namespace std;
void print(int *a,int len){
for(int i=0;i=r) return;
int m=partition(a,l,r);
// cout<4.堆排序
排序演算法集合
氣泡排序 public static int maopao int param return param 快速排序 public static int quick int param,int left,int right return param 分割陣列,相當於分治演算法,快速排序的核心 priv...
排序演算法集合
從未排序的集合中找出乙個元素,依次與已排序的集合元素進行比較,如果滿足規則,小於或是等於,直接插入,依次迴圈,直至待排序集合元素為空。清單.插入排序 直接插入排序 param arr public void insertsort int arr 從待排序元素集合中,找出其中最大或是最小的元素,插入到...
排序演算法集合
一.氣泡排序 思路 比較相鄰的元素,每次比較都會生成最大或者最小值放在最後,所以每輪比較次數會遞減 function sort arr 複製 二.快排 思路 雙指標 遞迴分治。每次比較都能找到基值的位置,然後遞迴比較基值左右的部分 function sort arr,start,end arr st...