设顺序表的存储类型定义如下:typedef int KeyType;typedef struct{KeyType key;}Re

设顺序表的存储类型定义如下:
typedef int KeyType;
typedef struct{
KeyType key;
}RecType;
阅读下列算法,并回答问题。
int f33(RecType R[],int i,int j)
{
RecType x=R[i];
while(i<j){
whilc(i<j&&R[j].key>=x.key)j--;
if(i<j){
R[i].key=R[j].key;i++;
}
while(i<j&&R[i].key<=x.key)i++;
if(i<j){
R[j].key=R[i].key;j--;
}
}
R[i].kcy=x.key;
return i;
}
(1)设RecType R[]={52,14,256,-9,-38,30,128,258,64},给出执行f33(R,0,8)后R的结果。
(2)给出该算法的功能。
【正确答案】:(1)R中的值是{30,14,-38,-9,52,256,128,258,64}。
(2)该算法选择第一个元素作为基准,实现对数组的一次划分。(或实现快速排序的一次划分。)