快速排序法的实现
来源:互联网 发布:魔兽世界战斗数据插件 编辑:程序博客网 时间:2024/05/13 04:11
/* 快速排序的实现 coder:QPZ time:2014-12-04*/#include <stdlib.h>#include <time.h>#include <iostream>using namespace std;#define N 10void Swap(int &a,int &b){int t;t=a;a=b;b=a;}class QuickSort{ private: int *a; int n; public: QuickSort(int n); void Quick(int left,int right); void PrinArr();};int main(void){class QuickSort *p=new QuickSort(N); p->PrinArr();p->Quick(0,N-1);p->PrinArr();return 0;} QuickSort::QuickSort(int n){ this->n=n; this->a=(int *)malloc(n*(sizeof(int))); srand((unsigned)time(NULL)); for(int i=0;i <n; i++ ){ this->a[i]=rand()%10; }/*for*/ } void QuickSort::Quick(int left,int right) { int Pivot=a[left]; int Left=left; int Right=right; if(left<right){ while(Left<Right){ while(Left<Right&&a[Right]>=Pivot) Right--; a[Left]=a[Right]; while(Left<Right&&a[Left]<=Pivot) Left++; a[Right]=a[Left]; }//while(Left<Right) a[Left]=Pivot; Quick(left,Left-1); Quick(Left+1,right); }//if } void QuickSort::PrinArr() { for(int i=0; i < n; i++ ){ cout<<this->a[i]<<" "; } cout<<endl; }
0 0
- 快速排序法的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 快速排序的实现
- 排序算法思想描述
- n的阶乘尾数有几个0
- 瞬间判断2的幂
- 装箱问题改进
- 随机数发生器说明
- 快速排序法的实现
- HuffmanTree
- 归并排序法实现
- hdu 1753 大明A+B (java大数)
- 蜗龙徒行-Spark学习笔记【一】初识Spark形成、演进、发展
- 数据库实现-概述
- 领悟javascript中的exec()和match()方法
- 第16周项目2-用指针玩转字符串-(4)统计单词个数
- 进程线程对比