每天一个c++小程序(1):快速排序
来源:互联网 发布:keynote软件下载 编辑:程序博客网 时间:2024/06/06 03:07
#include<iostream>
using namespace std;
void quickSort(int a[],int,int);
int main()
{
int array[]={34,65,12,43,67,5,78,10,3,70},k;
int len=sizeof(array)/sizeof(int);
cout<<"The orginal arrayare:"<<endl;
for(k=0;k<len;k++)
cout<<array[k]<<",";
cout<<endl;
quickSort(array,0,len-1);
cout<<"The sorted arrayare:"<<endl;
for(k=0;k<len;k++)
cout<<array[k]<<",";
cout<<endl;
return 0;
}
void quickSort(int s[], int l, int r)
{
if (l< r)
{
int i = l, j = r, x = s[l];
while (i < j)
{
while(i < j && s[j]>= x) // 从右向左找第一个小于x的数
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i]< x) // 从左向右找第一个大于等于x的数
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quickSort(s, l, i - 1); // 递归调用
quickSort(s, i + 1, r);
}
using namespace std;
void quickSort(int a[],int,int);
int main()
{
int array[]={34,65,12,43,67,5,78,10,3,70},k;
int len=sizeof(array)/sizeof(int);
cout<<"The orginal arrayare:"<<endl;
for(k=0;k<len;k++)
cout<<array[k]<<",";
cout<<endl;
quickSort(array,0,len-1);
cout<<"The sorted arrayare:"<<endl;
for(k=0;k<len;k++)
cout<<array[k]<<",";
cout<<endl;
return 0;
}
void quickSort(int s[], int l, int r)
{
if (l< r)
{
int i = l, j = r, x = s[l];
while (i < j)
{
while(i < j && s[j]>= x) // 从右向左找第一个小于x的数
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i]< x) // 从左向右找第一个大于等于x的数
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quickSort(s, l, i - 1); // 递归调用
quickSort(s, i + 1, r);
}
}
运行结果:
http://blog.csdn.net/liuchen1206/article/details/6954074
0 0
- 每天一个c++小程序(1):快速排序
- 每天一个C++小程序(十五)--快速排序
- 每天一个小程序(15)——交换排序之快速排序
- 每天一个小程序(16)——交换排序之快速排序2
- 每天一个C++小程序(十四)--堆排序
- 每天一个C++小程序(十八)--插入排序
- 每天一个C++小程序(十九)--桶排序
- 每天一个小程序(12)——交换排序之冒泡排序
- 每天一个小程序(14)——交换排序之双向冒泡排序
- 每天一个小程序(19)——选择排序
- java入门#每天一个小程序#插入排序
- 每天一个java小程序之冒泡排序
- 每天一个C程序
- 每天一个小程序(10)——直接插入排序
- 每天一个小程序(11)——折半插入排序
- 每天一个小算法 --- 排序
- 每天一个java小程序
- 每天一个java小程序
- springMVC+jcrop实现头像上传截图功能
- 图之最短路径之迪杰斯特拉算法
- Android 条形进度条
- JAVA连接MySQL样板
- 浏览器加载js的阻塞与非阻塞
- 每天一个c++小程序(1):快速排序
- bzoj1068(区间dp,字符串压缩)
- nginx按日期存储日志
- python中的下划线
- CSU 1113 Updating a Dictionary
- 锁机病毒小结
- 开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载
- 13、canvas标签之合成
- Binary