中午吃飯比較早,利用20分鐘把快速排序寫了下,以說明演算法為主,採用int陣列儲存資料。後續可以在以下兩點優化程式:
1. 採用模板程式設計,支援通用資料型別;
2. 採用函式指標或者函式物件決定排序方式。
#include
using std::cout;
using std::endl;
/** quick sort **/
void swap(int& a, int& b)
int partation(int dataarray, int leftpos, int rightpos)
} swap(dataarray[leftpos], dataarray[last_small]);
return last_small;
} void quicksort(int data, int leftpos, int rightpos)
} int main()
; quicksort(data, 0, count-1);
for(int i = 0; i< count; i++)
getchar();
} /** quick sort **/
void swap(int& a, int& b)
int partation(int dataarray, int leftpos, int rightpos)
}swap(dataarray[leftpos], dataarray[last_small]);
return last_small;
}void quicksort(int data, int leftpos, int rightpos)
}int main()
; quicksort(data, 0, count-1);
for(int i = 0; i< count; i++)
{cout<
人人都來學演算法 之 氣泡排序
冒牌排序是大學學習資料結構最先學習的排序演算法,平均時間效率較快速排序等方法效率低,但是演算法也最簡單,就是每次遍歷都把最大的元素 公升序 交換到當前的最後乙個位置。這個演算法也是筆試中最最常見,難度也是考察程式設計能力的最低要求。include using std cout using std e...
演算法 排序演算法之快速排序
很受打擊啊啊啊啊啊!這道排序題我很久之前就做過,而且當時沒用20分鐘就搞定了,可是,今天在公司做完手上的活之後打算刷題時,又心血來潮的想重做一遍,心想反正也花不了多少時間,結果。血崩了。要求 對於乙個int陣列,請編寫乙個快速排序演算法,對陣列元素排序。給定乙個int陣列a及陣列的大小n,請返回排序...
演算法 排序演算法之快速排序
快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 nlogn 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 nlogn 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的架構上很有效率地被實現出來。快速排序...