求一个基于C++的快速排序程序
来源:百度知道 编辑:UC知道 时间:2024/05/07 00:57:33
(2)完成快速排序运算的程序;
(3)与数据结构相关。
(4)不用QuickSort函数。
// 快速排序
// 使用递归调用来实现快速排序
// 10/21/2007
// Author: eman lee
/*Quick Sort */
#include <stdio.h>
void quick_sort(int data[], int low, int high)
{
int i, j, pivot;
if (low < high)
{
pivot=data[low];
i=low;
j=high;
while(i<j)
{
while (i<j && data[j]>=pivot)
j--;
if(i<j)
data[i++]=data[j]; //将比枢轴记录小的记录移到低端
while (i<j && data[i]<=pivot)
i++;
if(i<j)
data[j--]=data[i]; //将比枢轴记录大的记录移到高端
}
data[i]=pivot; //枢轴记录移到最终位置