[题目分析]保存划分的第一个元素以平均值作为枢轴进行普通的快速排序最后枢轴的位置存入已保存的第一个元素若此关键字小于平均值则它属于左半部否则属于右半部
int partition (RecType r[]int lh)
{ int i=lj=havg=;
for(;i<=h;i++) avg+=R[i]key;
i=l; avg=avg/(hl+);
while (i<j)
{ while (i<j &&R[j]key>=avg) j;
if (i<j) R[i]=R[j];
while (i<j &&R[i]key<=avg) i++;
if (i<j) R[j]=R[i];
}
if(R[i]key<=avg) return i; else return i;
}
void quicksort (RecType R[]int ST);
{if (S<T)
{k=partition (RST);
quicksart (RSk);
quicksart (Rk+T);}
}
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []