快速排序和插入排序

2021-08-14 07:37:26 字數 651 閱讀 2229

快排還是看之前的那篇部落格吧,這個寫的不實用

基於《資料結構與演算法分析》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,大於基準的放...