快速排序,从最低位和最高位开始。
#include <iostream.h>
#include <stdio.h>
using namespace std;
int partition(int data[], int low, int high);
void sort(int data[], int low, int high);
void change(int data[], int low, int high);
int partition(int data[], int low, int high)
{
int i= low, j = high;
int pivotKey = data[low];
while(i<j){
while(i<j && data[j]>=pivotKey){
j--;
}
if(i<j){
data[i] = data[j];
i++;
}
while(i<j && data[i] < pivotKey){
i++;
}
if(i<j){
data[j] = data[i];
j--;
}
}
data[i] = pivotKey;
return i;
}
void change(int data[], int low, int high)
{
int temp;
temp = data[high];
data[high] = data[low];
data[low] = temp;
}
void sort(int data[], int low, int high)
{
if(low < high)
{
int pivot = partition(data, low, high);
sort(data, low, pivot-1);
sort(data, pivot+1, high);
}
}
int main()
{
int data[10] = {32,43,54,21,43,46,67,34,48,56};
for(int i=0; i<10; i++)
{
cout<<"data["<<i<<"]="<<data[i]<<endl;
}
sort(data, 0, 9);
for(int i=0; i<10; i++)
{
cout<<data[i]<<" "<<endl;
}
}
分享到:
相关推荐
快速排序等经典排序算法C++、Java、python等版本 快速排序等经典排序算法C++、Java、python等版本 快速排序等经典排序算法C++、Java、python等版本 快速排序等经典排序算法C++、Java、python等版本 快速排序等经典...
C++快速排序算法程序,用于处理大量数据, 并对这些数据进行快速的排序
C++排序算法之快速排序源码
快速排序算法c++实现,快速实现插入排序十万个数(调用)。可以改成输入。并附加了程序运行计时,用于测试时间复杂度,可以移除。绝对能用
C/C++排序算法总结 快速 插入 冒泡 希尔
一个自己怎么弄不懂的算法,快速排序确实有点难理解,学习学习
本文件是7种常用排序算法的实现(C++),包括冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序以及快速排序。代码详细有注释且有测试用例。
自己写的用C++实现的快速排序算法,运行通过,可以作为参考。
C++排序算法之快速排序
用C++语言实现的几个常见算法,里面有注解,方便大家理解,简单易学,都可以正常编译运行。
各种常用c++排序算法,包括插入排序、冒泡排序、选择排序、快速排序、归并排序、希尔排序等
随机产生10000个浮点数,保存到a.txt文件中,再读取到内存中并分别用简单选择排序、冒泡排序、快速排序、希尔排序、归并排序、堆排序算法进行排序,显示排序过的数列的第1、10、100、1000、10000的具体数字和每个...
用C++写了以上三种排序算法,对初学数据结构的同学一个参考
C++实现常用排序算法 (快速,归并,选择,谢尔,堆排序)
里面有C++实现的选择排序,快速排序,堆排序,冒泡排序,shell排序等一些C++中常用的排序算法
C++实现希尔、快速、堆排序、归并排序算法,一些中文注释可能成乱码了,但是不影响代码执行。
快速排序算法C语言实现,快排序算法QuickSort.cpp
用c++实现的快速排序算法 算法实现的简单易懂
全面的排序算法实现,包括插入排序、合并排序、堆排序、快速排序。 堆排序:HeapSort 讲解详见http://blog.csdn.net/fly_yr/article/details/8550701 插入排序:InSertion_Sort 讲解详见...