#include<stdio.h>
#define MAXSIZE 1000
typedef struct
{
int r[MAXSIZE+1];
int length;
}SqList;
int swap(SqList *L,int i,int j)
{
int temp=L->r[j];
L->r[i]=L->r[j];
L->r[j]=temp;
int BubbleSort0(SqList *L)//简易冒泡排序
{
int i,j;
for(i=1;i<L->length;i++)
{
for(j=i+1;j<=length;j++)
swap(L,i,j);
}
}
{
int i,j;
for(i=1;i<L->length;i++)
{
for(j=length;j>i;j--)
{
if(L->r[j]<L->r[j-1])
swap(L,i,j)
}
}
{
int i,j;
Status flag=TURE;
for(i=1;i<L->length;i++)
{
flag=FALSE;
for(j=L->length-1;j>=i;j--)
{
flag=TURE;
}
}
}
{
int i,j,min;
for(i=1;i<length;i++)
{
min=i;
for(j=i+1;j<=length;j++)
{
if(L->[min]>L->[j])
min=j;
}
if(i!=min)
swap(L,i,j)
}
{
int i,j;
for(i=2;i<=length;i++)
{
if(L->r[i]<L->r[i-1])
{
L->r[0] = r[i];
for(j=i-1;L->r[j]>L->r[0];j--)
{
L->r[j+1] = L->r[j];
}
L->r[j+1] = L->r[0];
}
}
{
int i,j,k=0;
int increment=L->length;
do
{
increment=increment/3+1;
for(i=increment+1;i<L->length;i++)
{
if(L->r[i]<L->r[i-increment])
{
L->r[0]=L->r[i];
for(j=i-increment;j>0&&L->r[0]<L->r[j];j-=increment)
L->r[j+increment]=L->r[j];
L->r[j+increment]=L->r[0];
}
}
}while(increment>1);
{
int pivot;
if(low<high)
{
pivot=Partition(L,low,high);
QSort(L,low,pivot-1);
QSort(L,pivot+1,high);
}
{
int pivotkey;
pivotkey=L->r[low];
while(low<high)
{
while(low<high && L->r[high]>=pivotkey)
{
high--;
}
swap(L,low,high);
while(low<high && L->r[low]<=pivotkey)
{
low++;
}
swap(L,low,high);
}
return low;
{
int pivotkey;
int m=low+(high-low)/2;
if(L->r[low]>L->r[high])
swap(L,low,high);
if(L->r[m]>L->r[high])
swap(L,high,m);
if(L->r[m]>L->r[low])
swap(L,m,low);
pivotkey=L->r[low];
L->r[0]=pivotkey;
while(low<high)
{
while(low<high&&L->r[high]>=pivotkey)
{
high--;
}
L->r[low]=L->r[high];
while(low<high&&L->r[low]<=pivotkey)
{
low++;
}
L->r[high]=L->r[low];
}
L->r[low] = L->r[0];
return low;
{
int pivot;
if((high-low)>MAX_LENGTH_IENGTH_INSERT_SORT)
{
while(low<high)
{
pivot = Partition1(L,low,high);
Qsort1(L,povit+1,high);
low = pivot+1;
}
}
else
{
InsertSort(L);
}
{
int temp,j;
temp = L->r[s];
for(j = 2*s;j <= m;j *= 2 )
{
if(j<m && L->r[j]<L->r[j+1])
++j;
if(temp >= L->r[j])
break;
L->r[s] = L->r[j];
s=j;
}
L->r[s] = temp;
{
int i;
for(i=L->length/2;i>0;i--)
{
HeapAdjust(L,i,L->length);
}
for(i=L->length;i>1;i--)
{
swap(L,1,i--);
HeadAdjust(L,1,i-1);
}
}
int main()
{
}
#define MAXSIZE 1000
typedef struct
{
int r[MAXSIZE+1];
int length;
}SqList;
int swap(SqList *L,int i,int j)
{
int temp=L->r[j];
L->r[i]=L->r[j];
L->r[j]=temp;
}
{
int i,j;
for(i=1;i<L->length;i++)
{
for(j=i+1;j<=length;j++)
{
if(L->r[i]>L->r[j])
swap(L,i,j);
}
}
}
{
int i,j;
for(i=1;i<L->length;i++)
{
for(j=length;j>i;j--)
{
if(L->r[j]<L->r[j-1])
swap(L,i,j)
}
}
}
{
int i,j;
Status flag=TURE;
for(i=1;i<L->length;i++)
{
flag=FALSE;
for(j=L->length-1;j>=i;j--)
{
if(L->r[j]>L->r[j+1])
{
swap(L,i,j);flag=TURE;
}
}
}
}
{
int i,j,min;
for(i=1;i<length;i++)
{
min=i;
for(j=i+1;j<=length;j++)
{
if(L->[min]>L->[j])
min=j;
}
if(i!=min)
swap(L,i,j)
}
}
{
int i,j;
for(i=2;i<=length;i++)
{
if(L->r[i]<L->r[i-1])
{
L->r[0] = r[i];
for(j=i-1;L->r[j]>L->r[0];j--)
{
L->r[j+1] = L->r[j];
}
L->r[j+1] = L->r[0];
}
}
}
{
int i,j,k=0;
int increment=L->length;
do
{
increment=increment/3+1;
for(i=increment+1;i<L->length;i++)
{
if(L->r[i]<L->r[i-increment])
{
L->r[0]=L->r[i];
for(j=i-increment;j>0&&L->r[0]<L->r[j];j-=increment)
L->r[j+increment]=L->r[j];
L->r[j+increment]=L->r[0];
}
}
}while(increment>1);
}
{
int pivot;
if(low<high)
{
pivot=Partition(L,low,high);
QSort(L,low,pivot-1);
QSort(L,pivot+1,high);
}
}
{
int pivotkey;
pivotkey=L->r[low];
while(low<high)
{
while(low<high && L->r[high]>=pivotkey)
{
high--;
}
swap(L,low,high);
while(low<high && L->r[low]<=pivotkey)
{
low++;
}
swap(L,low,high);
}
return low;
}
{
int pivotkey;
int m=low+(high-low)/2;
if(L->r[low]>L->r[high])
swap(L,low,high);
if(L->r[m]>L->r[high])
swap(L,high,m);
if(L->r[m]>L->r[low])
swap(L,m,low);
pivotkey=L->r[low];
L->r[0]=pivotkey;
while(low<high)
{
while(low<high&&L->r[high]>=pivotkey)
{
high--;
}
L->r[low]=L->r[high];
while(low<high&&L->r[low]<=pivotkey)
{
low++;
}
L->r[high]=L->r[low];
}
L->r[low] = L->r[0];
return low;
}
{
int pivot;
if((high-low)>MAX_LENGTH_IENGTH_INSERT_SORT)
{
while(low<high)
{
pivot = Partition1(L,low,high);
Qsort1(L,povit+1,high);
low = pivot+1;
}
}
else
{
InsertSort(L);
}
}
{
int temp,j;
temp = L->r[s];
for(j = 2*s;j <= m;j *= 2 )
{
if(j<m && L->r[j]<L->r[j+1])
++j;
if(temp >= L->r[j])
break;
L->r[s] = L->r[j];
s=j;
}
L->r[s] = temp;
}
{
int i;
for(i=L->length/2;i>0;i--)
{
HeapAdjust(L,i,L->length);
}
for(i=L->length;i>1;i--)
{
swap(L,1,i--);
HeadAdjust(L,1,i-1);
}
}
int main()
{
}