根据Wikipedia,
在计算机编程中,前哨值(也称为标志值,跳闸值,无赖值,信号值或伪数据)在算法中属于特殊值,通常以循环或递归算法将其存在作为终止条件。
一个常见的示例是在正整数数组的末尾使用-1
来表示当数组大于填充它的数据时数据的末尾。
但是,当我们使用-1
而不是确保终止而只是将其作为不可能的值时该怎么办?例如:
# `a` is an array with the numbers from 0 to 4, in random order.
# We will use `b` to track where in `a` each number is. The position in `b`
# denotes the number, and the value denotes the index in `a`.
# `calculate_indices()` is a function that does this.
a = [3, 4, 1, 0, 2]
b = [-1, -1, -1, -1, -1]
calculate_indices(a, b)
print(b) => [3, 2, 4, 0, 1]
如果我们将b
初始化为[0, 0, 0, 0, 0]
,这将不起作用,因为0
在这里具有真正的含义-即a
中的第0个位置。因此,我们使用了不可能的值-1
。
这种用法有名称吗?