快排還是看之前的那篇部落格吧,這個寫的不實用
基於《資料結構與演算法分析》182頁,寫的快速排序。對於樞紐元的選擇使用三數中值分割法。
#include
#include
#define cutoff 3
using
namespace
std;
//三數中值分割方法
int media3(vector
& vecunsort, int left, int right)
//插入排序,當待排序數目小於10的時候,插入排序比快速排序要快
void insertsort(vector
& vecunsort, int left, int length)
vecunsort[j + 1] = temp;
}}//快速排序
void qsort(vector
& vecunsort, int left, int right)
swap(vecunsort[i], vecunsort[right - 1]);
qsort(vecunsort, left, i - 1);
qsort(vecunsort, i + 1, right);
}else
}
快速排序和插入排序
下面介紹用快速排序法和插入排序法來給乙個一維陣列排序 具體 實現如下 快速排序法 function quick sort arr 獲取陣列的長度 len count arr 如果陣列的 1,說明不許排序 if len 1 選擇第乙個元素作為標尺 base arr 0 初始化兩個陣列 left arr...
插入排序和快速排序
實現兩個個函式,輸入陣列和陣列個數,從小到大排序,要求使用函式模板。支援 int char float double long。乙個函式使用快速排序法,乙個函式使用插入排序法 templatevoid insertionsort t arr,const int count 更新pos,當pos不小於...
氣泡排序,快速排序,插入排序
一 氣泡排序 大致分兩步 1 依次對比相鄰2個數字,前者比後者大就調換位置 2 重複第一步操作,直到所有數字都按順序排列 function bubblesort arr return arr 二 快速排序大致分三步 1 找基準 一般是以中間項為基準 2 遍歷陣列,小於基準的放在left,大於基準的放...