问答题 设A[1..100]是一个记录构成的数组,B[1..100]是一个整数数组,其值介于1~100之间,现要求按B[1..100]的内容调整A中记录的次序,比如当B[1]=11时,则要求将A[1]的内容调整到A[11]中去。规定可使用的附加空间为O(1)。【中科院计算所2000七(15分)】
【正确答案】正确答案:题目要求按B数组内容调整A数组中记录的次序,可以从i=1开始,检查是否B[i]=i。如是,则A[i]恰为正确位置,不需再调;否则,B[i]k≠i,则将A[i]和A[k]对调,B[i]和B[K]对调,直到B[i]=i为止。核心语句段如下: while(i
【答案解析】