快速排序和插入排序的C 實現

2021-06-21 09:46:24 字數 728 閱讀 1315

本來這是乙個很常見的演算法,可是接觸it這麼長時間了,竟然還不知道這種演算法的核心,是在慚愧,最近一直想補習這方面的內容於是也就,開始了我的演算法里程,現在就說說快速排序吧,本來我一直是在用氣泡排序的,可是總是被人恥笑,所以呢,現在想想,開始學習吧

快速排序吧,總體流程是這樣的,首先將獲取最後乙個元素,然後呢根據這最後乙個元素將陣列分開兩部分,一部分比該元素小,另一部分比該元素大,這樣就分開了,然後呢利用遞迴呼叫,直到有部分都分開了,這樣就實現了快速排序

// 快速排序.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#includeusing namespace std;

templateint partion(any* ptr,int l,int r)

} //最後一組進行交換,將temp,或者說ptr[r],放在他應該在的位置上,也就是說ptr[r]的右邊的資料都比他大,左邊的資料都比他小

any midval=ptr[i];

ptr[i]=ptr[r];

ptr[r]=midval;

return i;

};templatevoid quicksort(any* ptr,int l,int r)

} }}int _tmain(int argc, _tchar* argv)

; insertsort(ptr,6);

for(int i=0;i<6;i++)

{ cout<

快速排序和插入排序

下面介紹用快速排序法和插入排序法來給乙個一維陣列排序 具體 實現如下 快速排序法 function quick sort arr 獲取陣列的長度 len count arr 如果陣列的 1,說明不許排序 if len 1 選擇第乙個元素作為標尺 base arr 0 初始化兩個陣列 left arr...

快速排序和插入排序

快排還是看之前的那篇部落格吧,這個寫的不實用 基於 資料結構與演算法分析 182頁,寫的快速排序。對於樞紐元的選擇使用三數中值分割法。include include define cutoff 3 using namespace std 三數中值分割方法 int media3 vector vecu...

插入排序和快速排序

實現兩個個函式,輸入陣列和陣列個數,從小到大排序,要求使用函式模板。支援 int char float double long。乙個函式使用快速排序法,乙個函式使用插入排序法 templatevoid insertionsort t arr,const int count 更新pos,當pos不小於...