文件名称:5
介绍说明--下载内容均来自于网络,请自行研究使用
非递归的快速排序算法-#include <iostream>
#include <stack>
#define MAX_SIZE 11
using namespace std
typedef int elem
typedef std::stack<int> Stack
int partition(elem*pData, int low, int high)
void swap(elem& a, elem& b)
void qsort(elem* pData, int low, int high)
int partition(elem*pData, int low, int high)
{
elem key = pData[low]
while(low < high)
{
while(low < high && pData[high] >= key)
high--
swap(pData[low], pData[high])
while(low < high && pData[low] <= key)
low++
swap(pData[low], pData[high])
}
return low
}
void swap(elem& a, elem& b)
{
if(&a != &b)
{
a ^= b
b ^= a
a ^= b
}
}
//快速排序的非递归算法
voi
#include <stack>
#define MAX_SIZE 11
using namespace std
typedef int elem
typedef std::stack<int> Stack
int partition(elem*pData, int low, int high)
void swap(elem& a, elem& b)
void qsort(elem* pData, int low, int high)
int partition(elem*pData, int low, int high)
{
elem key = pData[low]
while(low < high)
{
while(low < high && pData[high] >= key)
high--
swap(pData[low], pData[high])
while(low < high && pData[low] <= key)
low++
swap(pData[low], pData[high])
}
return low
}
void swap(elem& a, elem& b)
{
if(&a != &b)
{
a ^= b
b ^= a
a ^= b
}
}
//快速排序的非递归算法
voi
(系统自动生成,下载前可以参看下载内容)
下载文件列表
5.cpp