快排 quicksort
来源:互联网 发布:网站域名多少钱 编辑:程序博客网 时间:2024/04/29 01:48
#include <iostream>#include <math.h>#include <algorithm>int randBetween( int low, int high ) {//int direction = (rand()%2 == 0) ? -1:1;return ((rand() % (high - low)) + low);}void exchange( int &elem1, int &elem2 ){int temp = elem1;elem1 = elem2;elem2 = temp;}int Partition( int* A, int p, int r ){int x = A[r];int i = p-1;for( int j = p; j <= r-1; j++ ){if( A[j] <= x ){i++;exchange( A[i], A[j] );}}exchange( A[i+1], A[r] );return i+1;}int Randomized_Partition( int* A, int p, int r ){int i = randBetween( p, r );exchange( A[r], A[i] );return Partition( A, p, r );}void Quick_Sort( int* A, int p, int r ){if( p < r ){int q = Randomized_Partition( A, p, r );Quick_Sort( A, p, q-1 );Quick_Sort( A, q+1, r );}}void print( int *A, int n ){for( int i = 0; i < n; i++ ){std::cout << A[i] << " ";}std::cout << std::endl;}int main( int argc, char* argv[] ){int length;std::cout << " input the length of the array: ";std::cin >> length;int *A;A = new int[length];for( int i = 0; i < length; i++ ){std::cin >> A[i];}Quick_Sort( A, 0, length-1 );print( A, length );return 0;}
0 0
- 快排 quicksort
- 快排算法quickSort
- 快排QuickSort
- 快排QuickSort
- lua的快排(QuickSort)
- QuickSort/快速排序/快排
- 可执行的快排 quicksort
- python 版 quicksort 快排
- QuickSort 快排算法 java
- QuickSort快排详细解释
- QuickSort(经典快排算法)
- C语言递归实现快排quicksort
- java快速排序(快排)算法Quicksort
- 把快排quicksort() 优化到 STL -> sort()
- 快排(QuickSort)的java语言的实现
- 使用Java泛型实现快速排序(快排,Quicksort)
- 快排
- 快排
- Git Submodule完整教程(3/3)
- 【Android界面实现】对Listview控件的效率优化
- Swift 开源应用列表
- Zookeeper应用详解记录
- 【C语言复习(二十二)】C语言程序的内存段
- 快排 quicksort
- SGU495-Kids and Prizes
- JS学习笔记-JSON
- 人生没有最佳时机
- 深入理解互斥锁的实现
- jQuery学习笔记(一)---
- PHP.INI 配置
- 一个小例子
- 使用Python的Swampy程序包中的“乌龟”画花朵,螺旋线,打字等