数据结构之快速排序的 c++实现(中间元素为基值)
来源:互联网 发布:python smtp 编辑:程序博客网 时间:2024/05/21 06:31
#include<iostream>using namespace std;int partition(int *P,int l ,int r,int & pivot){ int temp;while(l<r){while(P[l]>=pivot && l<r) // l右移直到l对应的值小于轴值l++;while(P[r]<=pivot && l<r) // l右移直到l对应的值大于于轴值r--;temp=P[l]; // 交换l和r对应的值P[l]=P[r];P[r]=temp;}return l;}void Quick_sort(int *P,int i,int j){if(j<=i) return; // 判断元素个数为0或1时不进行排序直接返回int temp;int pivotindex = (i+j)/2; // 确定轴值的位置temp = P[j]; // 将轴值调放在最后P[j] = P[pivotindex];P[pivotindex] = temp;int k = partition(P,i,j,P[j]); // 将右边的第一个位置放在k中temp = P[k]; // 将轴值放到r和l相遇的位置P[k] = P[j];P[j] = temp;Quick_sort(P,i,k-1); // 递归调用将序列分段排序Quick_sort(P,k+1,j);}int main(){int A[10];for(int i=0;i<10;i++)cin>>A[i];Quick_sort(A,0,9);for(int i=0;i<10;i++)cout<<A[i]<<" ";system("pause");}
0 0
- 数据结构之快速排序的 c++实现(中间元素为基值)
- 第十四周-交换排序之快速排序(以中间位置的元素为标准)
- 交换排序之快速排序(以中间位置的元素作为基准)
- 排序 - 交换排序 [3 -- 快速排序,中间元素为支点]
- C++快速排序(以中间元素为元点)
- 快速排序(以中间为基准)
- c语言源代码,快速排序,选取中间元素作为参照
- 数据结构之快速排序的Java实现
- 数据结构之快速排序的实现
- 数据结构之快速排序(C语言)
- 数据结构之快速排序(c++)
- 快速排序 以第一个,中间,最后元素的平均值为中轴 并测试1000000个整形元素的速度
- 快速排序中枢轴元素从首、尾、中间三元素取中间值函数的探究
- 数据结构算法之排序系列Java、C源码实现(6)--快速排序
- 快速排序的C语言实现【严蔚敏--数据结构】
- 数据结构之---C语言实现快速排序(多个版本)
- 数据结构之插入排序的实现(C语言版)
- 数据结构之冒泡排序的实现(C语言)
- POJ 2653 判断线段相交
- 黑马程序员——java语法
- Java常用的类,包,接口
- Ubuntu 命令学习
- 搜索引擎工作的基础流程与原理
- 数据结构之快速排序的 c++实现(中间元素为基值)
- 有关于Android Menu的一些小知识总结
- 黑马程序员——Java基础---变量、运算符、语句总结
- Linux下adb不能识别Android设备
- httprequst向服务端发送请求错误
- EMACS-indentation(缩进)1
- C++开发者都应该使用的10个c++11特性
- 栈的缓冲区溢出研究
- 深度解析搜索引擎的原理结构