gpt4 book ai didi

pointers - 循环队列大小

转载 作者:行者123 更新时间:2023-12-04 05:34:44 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
how to find number of elements in a Circular Queue



我正在实现一个循环队列,但无法正确获取队列的大小。
我发现了一个关于同一问题的先前主题,提出的解决方案是使用两个指针并增加第二个指针,同时它与第一个指针指向的对象不同。但我认为这个方法只能在队列中有不同的对象时才能工作。就我而言,所有对象都是相似的。如何获得循环队列的大小?
这个公式对我也不起作用:
int size = abs(m_front -m_tail) ; 

其中 m_front 和 m_tail 是尾队列索引和前队列索引。

谢谢

最佳答案

这应该这样做:

if m_front > m_tail 
size = (m_front - m_tail)
else
size = (m_front + N - m_tail)

其中 N 是数组的长度。

或者,您可以通过在 Queue() 时增加计数器来自己跟踪它。 ,并在您 Dequeue() 时递减它.

关于pointers - 循环队列大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com