快排实现
来源:互联网 发布:汽车导航怎么链接网络 编辑:程序博客网 时间:2024/06/01 03:57
#include<iostream>
using namespace std;
void exchange(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int partion(int *a,int left,int right)
{
int i=left-1;
int x=a[right];
for(int j=left;j<right;++j)
{
if(a[j]<=x)
{
++i;
exchange(&a[i],&a[j]);
}
}
exchange(&a[i+1],&a[right]);
return i+1;
}
void quicksort(int *a,int left,int right)
{
if(left>=right)
return;
int q=partion(a,left,right);
quicksort(a,left,q-1);
quicksort(a,q+1,right);
}
void print(int *a,int n)
{
for(int i=0;i<n;++i)
cout<<a[i]<<" ";
cout<<endl;
}
int main()
{
int a[10]={0};//{6,3,1,7,5,8,9,2,4};
quicksort(a,0,9);
print(a,10);
return 0;
}
using namespace std;
void exchange(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int partion(int *a,int left,int right)
{
int i=left-1;
int x=a[right];
for(int j=left;j<right;++j)
{
if(a[j]<=x)
{
++i;
exchange(&a[i],&a[j]);
}
}
exchange(&a[i+1],&a[right]);
return i+1;
}
void quicksort(int *a,int left,int right)
{
if(left>=right)
return;
int q=partion(a,left,right);
quicksort(a,left,q-1);
quicksort(a,q+1,right);
}
void print(int *a,int n)
{
for(int i=0;i<n;++i)
cout<<a[i]<<" ";
cout<<endl;
}
int main()
{
int a[10]={0};//{6,3,1,7,5,8,9,2,4};
quicksort(a,0,9);
print(a,10);
return 0;
}
0 0
- scheme实现快排
- 快排c++实现
- 快排简单实现
- Python实现快排
- 快排-java实现
- 实现的快排
- 快排实现;
- 快排实现
- 快排java实现
- javascript实现快排
- 单链表实现快排
- 快排:Swift实现
- 快排:Swift实现
- 快排--java实现
- 快排实现
- PHP实现快排
- 快排实现
- 快排实现
- Java 实现发邮件
- 实现自己的卷积神经网络
- 1110. Complete Binary Tree (25)解题报告
- 如何使字符串中每隔单词的首字母大写,其余部分小写?
- Yii2场景使用方法
- 快排实现
- 2016年要结束了,你还有什么遗憾没有完成吗?
- 2016年走过的路(待更新)
- PPP协议的配置(以H3C模拟器为例)
- SVN “工作副本 “...” 已经锁定”的解决办法
- 初识JVM-JVM运行机制(2)
- 菜鸟UITableViewController问题
- 回望2016
- J2EE项目系列(二)--博客管理系统(Maven+SpringMVC+Hibernate以及附加分页和一对多查询功能)