你怎么称呼这种数据结构?

时间:2013-11-21 13:15:53

标签: arrays data-structures

例如,我有这个数组

array[]
array[1] = person1
array[2] = person2
array[3] = person3

person2决定离开数组

array[]
array[1] = person1
array[2] = nil
array[3] = person3

person4进来后发现索引2为空,所以他抓住了那个索引(没有移动/重新排列数组)

array[]
array[1] = person1
array[2] = person4
array[3] = person3

非常糟糕的解释,但希望你明白了。 : - )

1 个答案:

答案 0 :(得分:0)

听起来就像一个数组。

在许多/大多数编程语言中,您可以将数组中的值设置为未初始化(例如,Java,C ++,C#,C中的空值)(不会移动其他值)。

也许你还想要一个集合来跟踪自由索引,这将导致预期的O(1)(基于哈希表)或O(log n)(基于二叉搜索树),而不是O(n)find-free-index操作的insert

如果您想有效地(O(1))删除没有索引的人,每个人也应该跟踪他/她自己的索引。