//******************快速排序非递归算法(队列实现)*****************************
const int Maxsize = 100;
void quicksortu(int a[],int n)
{
struct node
{
int low,high;
}qu[Maxsize];
int i,j,low,high,temp,front=-1,rear=-1;
rear++;
qu[rear].low=0;
qu[rear].high=n-1;
while(front!=rear)
{
front=(front+1)%Maxsize;
low=qu[front].low;
high=qu[front].high;
i=low;
j=high;
if(low<high)
{ temp=a[low];
while(i!=j)
{ while(i<j&&a[j]>temp)j--;
if(i<j){a[i]=a[j];i++;}
while(i<j&&a[i]<temp)i++;
if(i<j){a[j]=a[i];j--;}
}
a[i]=temp;
rear=(rear+1)%Maxsize;
qu[rear].low=low;
qu[rear].high=i-1;
rear=(rear+1)%Maxsize;
qu[rear].low=i+1;
qu[rear].high=high;
}
}
}
struct node
{
int low,high;
}st[100];
//******************快速排序非递归算法(堆栈实现)*****************************
void quicksort(int a[],int n)
{ int i,j,low,high,temp,top=0;
st[top].low=0;
st[
快速排序非递归算法 来自淘豆网m.daumloan.com转载请标明出处.