快速排序
来源:互联网 发布:java事务 编辑:程序博客网 时间:2024/04/29 06:42
#include<iostream>
using namespace std;
template <class T1,class T2>
int split(T1 a[],T2 first,T2 last);
template <class T1,class T2>
void quick_sort(T1 a[],T2 first,T2 last)
{
if(first<last)
{
int split_point;
split_point=split(a,first,last);
quick_sort(a,split_point+1,last);
quick_sort(a,first,split_point);
for(int i=first;i<last;i++)
{
cout<<a[i]<<" ";
}
cout<<"quick_sort over"<<endl;
}
}
template <class T1,class T2>
int split(T1 a[],T2 first,T2 last)
{
int split_point;
int pivot;
pivot=a[first];
split_point=first;
for(int unknown=first+1;unknown<=last;unknown++)
{
if(a[unknown]<pivot)
{
split_point++;
int temp=a[unknown];
a[unknown]=a[split_point];
a[split_point]=temp;
}
}
a[first]=a[split_point];
a[split_point]=pivot;
return split_point;
}
int main()
{
int n;
cout<<"input n:";
cin>>n;
cout<<"intut "<<n<<" num"<<endl;
int i,j;
char a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
quick_sort(a,0,n-1); //用n就不能看到字符的完整显示(char时)
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
using namespace std;
template <class T1,class T2>
int split(T1 a[],T2 first,T2 last);
template <class T1,class T2>
void quick_sort(T1 a[],T2 first,T2 last)
{
if(first<last)
{
int split_point;
split_point=split(a,first,last);
quick_sort(a,split_point+1,last);
quick_sort(a,first,split_point);
for(int i=first;i<last;i++)
{
cout<<a[i]<<" ";
}
cout<<"quick_sort over"<<endl;
}
}
template <class T1,class T2>
int split(T1 a[],T2 first,T2 last)
{
int split_point;
int pivot;
pivot=a[first];
split_point=first;
for(int unknown=first+1;unknown<=last;unknown++)
{
if(a[unknown]<pivot)
{
split_point++;
int temp=a[unknown];
a[unknown]=a[split_point];
a[split_point]=temp;
}
}
a[first]=a[split_point];
a[split_point]=pivot;
return split_point;
}
int main()
{
int n;
cout<<"input n:";
cin>>n;
cout<<"intut "<<n<<" num"<<endl;
int i,j;
char a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
quick_sort(a,0,n-1); //用n就不能看到字符的完整显示(char时)
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- android ImageSwitcher和Gallery组合使用
- LeetCode: Depth of Binary Tree
- map与hash_map
- 自制精美易用的DBGrid
- 使用createview切分视图窗口
- 快速排序
- 处理7z格式的001、002……文件
- 数据库中数据库与表的创建
- POJ 1091 跳蚤
- 良好的用户体验来源于贴心的功能(一)-谈如何设计记录用户切换的输入法
- 四十岁后的人生感悟——心老才诚实,因诚实才可靠
- Java导出Highcharts生成的图表为图片源码
- 正则表达式 基础知识 和 实际例子
- usaco 6.1 Cow XOR(USACO终结,二进制的一些应用)