问答题
下面的排序算法的思想是:第一趟比较将最小的元素放在r[1]中,最大的元素放在r[n]中,第二趟比较将次小的放在r[2]中,将次大的放在r[n一1]中,依次下去,直到待排序列为递增序。(注:<一>代表两个变量的数据交换)。【南京理工大学2001三、2(10分)】【中国海洋大学2007三(12分)】
void sort(SqList&r,int n)
{i=1;
While(f1) )
(min=max=i;
for(J=i+1;(2) ;++j)
{if((3) )min=j;
else if(r[j]key>r[max].key)max=J;
}
if(i垒2 )r[min]<一一>r[i];
if(max!=n-i+1]
{if((5) )r[min](一一>r In—i+1];else((6)};}
i++;
}
}//sort
【正确答案】正确答案:(1)i≤n/2 (2)j≤n-i+1 (3)r[j].keyr[n—i+1]
【答案解析】