C++快速排序 精简版
来源:互联网 发布:郑州linux运维招聘 编辑:程序博客网 时间:2024/05/17 05:05
快速排序是一种基于分治技术的重要排序算法。
下面是C++快速排序精简版。
头文件 QuickSort.h:
void Swap(int &p,int &q){int temp;temp = p;p = q;q = temp;}int Partition(int InputArray[],int nLow,int nHigh){int i = nLow,j = nHigh+1;int x=InputArray[i];while (true){while (InputArray[++i]<x); //将〈x的元素交换到中轴左边区域while (InputArray[--j]>x); //将 >x的元素交换到中轴右边区域 if (i>=j)break;Swap(InputArray[i],InputArray[j]);}InputArray[nLow]=InputArray[j]; //将x交换到它在排序序列中应在的位置上 InputArray[j]=x;return j;}void QuickSort(int InputArray[],int nLow,int nHigh){if (nLow < nHigh){int index = Partition(InputArray,nLow,nHigh);QuickSort(InputArray,nLow,index-1);QuickSort(InputArray,index+1,nHigh);}}
测试代码:
#include"QuickSort.h"#include<iostream>using namespace std;int main(){int array[11] = {15,7, 3, 19, 4, 63, 2, 99, 18, 1, 25}; QuickSort(array, 0, 10);for(int i = 0; i < 11; i++) cout << array[i] << " "; cout<<endl; return 0; }
- C++快速排序 精简版
- 精简代码-快速排序
- 精简代码-快速排序
- 快速排序精简版总容易理解版
- 快速排序算法(c语言算法实现)-------精简原理分析
- 精简后的快速排序法
- 快速开发封装精简版
- 快速排序算法(c++)版
- 快速排序(C/C++版)
- 排序-快速排序(c)
- 【C语言】(my_strcat 精简版)
- 快速排序尾递归版C语言
- 快速排序算法实现(C版)
- 快速排序(C.A.R.Hoare版)
- 快速排序(C.A.R.Hoare版)
- 快速排序--C语言
- 快速排序(c#)
- 快速排序C
- 开发板和Linux系统挂载报错(mount: RPC)
- 观察者模式
- 对条件变量(condition variable)的讨论
- 联合union
- 机器学习推荐书目
- C++快速排序 精简版
- 迪杰斯特拉算法
- 不修改projects的情况下使用reveal
- 一种H.264高清视频的无参考视频质量评价算法(基于QP和跳过宏块数)
- 匹配 Email 地址的正则表达式
- ubuntu12.04安装ssh和telnet服务器
- Union与Struct的区别
- Codeforces 282E(Sausage Maximization)
- Linux中fork()函数详解