一个二维数组 A[1…n][1…n] 是部分排序的,如果
∀i, j ∈ [1...n−1], A[i][j] < A[i][j+1] and A[i][j] < A[i+1][j]
填空:
a) 数组中最小的项位于 A[ i ][ j ] 处,其中i =………………和j =……………………。
b) 删除最小的项。完成以下O(n)过程以插入项目x (保证小于最后一行或最后一列中的任何项目)仍然保持 A 部分排序。
procedure insert (x: integer);
var i,j: integer;
begin
i:=1; j:=1, A[i][j]:=x;
while (x > ...... or x > ......) do
if A[i+1][j] < A[i][j] ......... then begin
A[i][j]:=A[i+1][j]; i:=i+1;
end
else begin
............
end
A[i][j]:= .............
end
.
回答:
解释:
这个问题的测验
如果您发现上面的帖子有任何错误,请在下面评论