#包含stdio.h '
#包括科尼奥。h
#定义MAXSIZE 20
#定义LT(a,b) ((a)r[i].钥匙,L-r[i-1].键)){ 0
L-r[0]=L-r[I];
for(j=I-1;LT(L-r[0]).钥匙,左-右[j].键);- j)
L-r[j 1]=L-r[j];
L-r[j 1]=L-r[0];
}
}
void MaopaoSort(SqList *L) /*冒泡排序*/
{ int i,j,t,n;
n=1-长度;
for(I=1;i=L-r[j 1].键)
{t=L-r[j].钥匙;L-r[j].key=L-r[j 1].钥匙;L-r[j 1].key=t;}
}
/*快速排序*/
/*快速排序相关功能*/
(同Internationalorganizations)国际组织分区(SqList *L,int低,int高)
{
int pivotkey
L-r[0]=L-r[低];
枢轴键=左-右[低]。钥匙;
而(低=旋转键)-高;
L-r[低]=L-r[高];
而(低).keyr[高]=L-r[低];
}
L-r[低]=L-r[0];
低回报;
}
void QSort(SqList *L,int低,int高)
{
int pivotloc
如果(低长度);
}
/*结束快速排序相关功能*/
void merge_two(RedType a[],RedType b[],int i,int n,int m) /*归并排序*/
{ int k,j;
对于(j=n ^ 1,k=I;IR[s]=RC;
}
空堆运动(堆类型* H)
{
redType t;
int I;
对于(I=H-长度/2;i0;我)
他只是(H,I,H长度);
对于(I=H-长度;i1;-I){ 0
t=H-r[1];
H-r[1]=H-r[I];
h-r[I]=t;
HeapAdjust(H,1,I-1);
}
}
main()
{
int a[]={49,38,65,97,76,13,27,49 };
int i,k;
SqList s;
clr srcr();
printf(' n t要排序的记录: ');
for(I=1;我