我有这样的事情,我想有第一个元素作为枢轴。 为什么这个程序仍然不起作用?快速排序C++的第一个元素作为枢纽
void algSzyb1(int tab[],int l,int p)
{
int x,w,i,j;
i=l; //l is left and p is pivot, //i, j = counter
j=p;
x=tab[l];
do
{
while(tab[i]<x) i++;
while(tab[j]>x) j--;
if(i<=j)
{
w=tab[i];
tab[i]=tab[j];
tab[j]=w;
i++;
j--;
}
}
while(!(i<j));
if(l<j) algSzyb1(tab,l,j);
if(i<p) algSzyb1(tab,i,p);
}
此代码是让人毛骨悚然。 – Rabbid76
使用**变量的有意义的名称**并在每个复杂表达式之前使用**注释**以阐明其用法。这将使您的代码易于阅读和更正。 – Ziezi
如果你不知道代码在做什么,那么使用有意义的注释。 – gnasher729