算法与数据结构
gongpan2468
这个作者很懒,什么都没留下…
展开
-
快速排序(单,双,三路)
/////////////////快速排序////////////////////////////////templateint portiTion(T arr[], int l,int r){ swap(arr[l],arr[rand() % (r - l+1) + l]); T v = arr[l]; //设置第一个数为标志 int j = l; //标识正翻译 2017-04-07 18:50:11 · 351 阅读 · 0 评论 -
归并排序
归并排序(自上而下)一共做两件事情,一,分解,层层折半二,合并,将有序的两个子集合并成一个有序的#include "iostream"using namespace std;templatevoid merge(T arr[], int l, int mid, int r){ //重新定义一个指向新的数组,用来临时存放 T* acc = n翻译 2017-04-07 18:18:49 · 195 阅读 · 0 评论 -
二分法排序
在插入第i个记录Key[i]前,前i-1个记录已经排序完成,每次和中间的那个记录比较,如果Key[i] void binary_sort(T a[], int n){ for (int i = 0; i { int tem = a[i]; int right = i - 1; int left = 0; int mid=0; while原创 2017-06-30 16:45:25 · 505 阅读 · 0 评论