标签: c++ linked-list queue
我必须通过使用只有一个迭代器的循环链表来实现队列。我怀疑哪种方法在性能方面更好,维护第一项或最后一项的迭代器?
答案 0 :(得分:1)
好吧,如果你有一个指向第一个项目的指针,那么列表末尾的操作将是O(N)。使用指向列表末尾的指针,您可以在O(1)中的开头和结尾执行操作。一般来说,如果你有一个循环链接列表,那么你希望能够到达开头和结尾,所以答案是你用一个指向结尾的指针来表现会更好。