排序算法——快速排序(Quick Sort)
2014-08-30 11:17
225 查看
快速排序(一)
一次划分;递归算法
C/C++代码:
一次划分;递归算法
C/C++代码:
#include <iostream> #include <stdlib.h> using namespace std; void Print( int r[], int n ) { for( int i = 0; i < n; i++ ) { cout << r[i] << " "; } cout << endl; } void Swap( int& a, int & b ) { int temp = a; a = b; b = temp; } int Partition( int r[], int left, int right ) { int i = left, j = right; while ( i < j ) { while( i < j && r[i] <= r[j] ) j--; if( i < j ) { Swap( r[i], r[j] ); i++; } while( i < j && r[i] <= r[j] ) i++; if( i < j ) { Swap( r[i], r[j] ); j--; } } return i; } void QuickSort( int r[], int left, int right ) { if( left < right ) { int pivot = Partition( r, left, right ); QuickSort( r, left, pivot-1 ); QuickSort( r, pivot+1, right ); } return; } int main() { int r[] = { 34, 12, 45, 78, 52, 18, 67, 90, 64, 72, 27 }; int n = sizeof( r ) / sizeof( int ); Print( r, n ); QuickSort( r, 0, n - 1 ); Print( r, n ); system( "PAUSE" ); return 0; }
相关文章推荐
- 排序算法 - 快速排序(Quick Sort)
- PHP实现排序算法----快速排序(Quick Sort)、快排
- 基本排序算法04----快速排序(quick sort)
- PHP排序算法之快速排序(Quick Sort)及其优化算法详解
- [算法导论][排序算法]快速排序(quick sort)
- 排序算法——快速排序(Quick Sort)
- 排序算法---快速排序(Quick Sort)
- 排序算法:快速排序
- 排序算法之快速排序
- 排序算法-快速排序(入门)
- 排序算法(六):快速排序
- 排序算法之快速排序
- Quick Sort(快速排序)
- 排序算法——快速排序
- JAVA排序算法实现代码-快速(Quick Sort)排序
- 改进排序算法:快速排序(对冒泡排序的改进)
- 排序算法之快速排序
- 排序算法(二) 快速排序
- 浅析各类排序算法(三) 交换类排序之快速排序
- 排序算法——快速排序详解(java实现)