# 练习题

10.3-1

多重数组

key :13, 4, 8, 19, 5, 11

next:1, 2, 3, 4, 5, -1

pre:-1, 0, 1, 2, 3, 4

单数组：

13, 3, -1, 4, 6, 3, 8, 9, 6, 19, 12, 9, 5, 15, 12, 11, 18, 15

10.3-2

```
ALLOCATE-OBJECT()
1    if free = NIL
2        then error "out of space"
3        else x <- free
4               free <- A[x+1]
5               return x
FREE-OBJECT(x)
1    A[x+1] <- free
2    free <- x
```

10.3-3

在这里prev域没有

在这里在这里prev域没有意义，用不到

10.3-4

见10.3-4

假设当前的数组是紧凑的，即数组中有f个元素，都位于数组的前f个位置

分配一个新的元素时，把f+1的位置分配给它

删除一个元素时，假设待删除的元素的位置是i，先修改元素prev\[i]的next指针和元素next\[i]的prev指针，删除这个元素。这里数组中间就留下一个空位，让第f个元素填充这个空位，具体方法是修改元素prev\[f]的next指针和元素next\[f]和prev指针

10.3-5

与10.3-4类似
