谁能解释一下这个快速排序

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:33:43
void qSort(int list[ ],int left,int right)
{
int s;
int i,j;
int temp;

if(left < right)
{
s=list[left];
i=left-1;
j=right+1;

while(i+1!=j)
{
if(list[i+1]<=s)
i++;
else if(list[j-1]>s)
j--;
else
{
temp=list[i+1];
list[++i]=list[j-1];
list[--j]=temp;
}
}

list[left]=list[i];
list[i]=s;
qSort(list,left,i-1);
qSort(list,i+1,right);
}
}
用具体的数字更好
49 38 65 97 76 13 27

建议看下 数据结构 的教材,很基础

问题解释:主要运用的是冒泡排序法 具体的介绍很长 在这里就不做详细介绍了 你可以在网上查“冒泡排序法”就知道为什么了