排序演算法集合

2021-09-02 14:16:48 字數 633 閱讀 1932

就按照《演算法導論》裡面的順序寫吧 。

原理都不講了,只是貼一下**,給參考。其實書上也寫得很清楚,我只是用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...