自己动手写算法.Sort.QuickSort
来源:互联网 发布:淘宝客运营模式 编辑:程序博客网 时间:2024/06/05 02:57
Quick Sort Algorithm
Quick sort uses divide-conquer-combine stratage to sort array in place.
- namespace
- {
- int gSize = 0;
- int partation(int arr[], int nStart, int nEnd)
- {
- int pivot = arr[nEnd];
- int pos = nStart - 1;
- for(int i=nStart; i<nEnd; ++i)
- {
- if( arr[i] < pivot )
- {
- ++pos;
- std::swap(arr[i], arr[pos]);
- }
- }
- std::swap(arr[pos+1], arr[nEnd]);
- return pos+1;
- }
- void quickSort(int arr[], int nStart, int nEnd)
- {
- ALog::print(arr, gSize);
- if( nStart < nEnd )
- {
- int nPos = partation(arr, nStart, nEnd);
- quickSort(arr, nStart, nPos-1);
- quickSort(arr, nPos+1, nEnd);
- }
- }
- }
- /*
- Divide-Conquer-Combine
- */
- void SortQuick::sort(int arr[], const int nSize)
- {
- ALog::print(_T("# quick Sort: "));
- ALog::print(arr, nSize);
- gSize = nSize;
- quickSort(arr, 0, nSize-1);
- }
- 自己动手写算法.Sort.QuickSort
- 自己动手写算法.Sort.Bubble
- 自己动手写算法.Sort.HeapSort
- Sort : QuickSort
- 自己动手写Logistic回归算法
- merge sort vs. quicksort
- 【自己动手写数据结构】 -- 图的深度优先搜索算法
- 【自己动手写数据结构】 -- 图的广度优先搜索算法
- 算法导论示例-QuickSort
- 微妙的quicksort算法
- 算法导论 QuickSort
- C# QuickSort 排序算法
- 快速排序算法QuickSort
- 快速排序算法QuickSort
- 快速排序(QuickSort)算法
- QuickSort 快速排序算法
- 算法导论版QuickSort
- 快排算法quickSort
- 在监控windows资源时出现拒绝访问的错误
- 22岁了...停电了...(2007-08-18 19:09)
- 定点数二进制表示
- TCCC Algo Qual Round 1(2007-08-19 02:59)
- 转个有意思的东西: 脑残体全论(2007-08-20 13:48)
- 自己动手写算法.Sort.QuickSort
- 冬天来了,您准备好了吗?--员工篇
- TCCC Algo Qual Round (22007-08-21 20:51)
- DJMAX Portable1加2 OST全159首乐曲下载[MP3] 128 Kbps(2007-08-23 15:23)
- 悖论
- IP地址屏蔽功能设计
- TCCC Algo Round 1B(2007-08-30 20:54)
- 大家帮个忙
- Topcoder srm364(2007-09-05 12:19)