首页 > 编程知识 正文

十大排序算法(快速排序算法)

时间:2023-05-05 12:36:35 阅读:2173 作者:4194

#包含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;我

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。