C语言快速的排序函数看不懂了
void qsort(int v[],int left,int right)
{
int i,last;
void swap(int v[],int i,int j);
if(left>=right)
return;
swap(v,left,(left+right)/2);
last = left;
上面这段程序有几个疑问想请教下,问题1:上面的qsort函数是不是对数组下标进行排序?
问题2:swap(int v[],int i,int j)这句意思是不是将数组v和整型i,j交换位置?如果是为什么要写这样一句啊?如果不是那是什么意思呢?
问题3: if(left>=right) return;这句为什么解释为“若数组包含的元素少于两个”?我觉得如果数组下标是3,1,2,0,那左侧大于右侧,实际数组元素为什么不是4个?