如果循环队列满了,再加元素的话队头指针和队尾指针怎么变化

学习 时间:2026-04-04 19:58:05 阅读:8697
如果循环队列满了,再加元素的话队头指针和队尾指针怎么变化按我的理解应该是不变了才对,满了以后队尾再插入新数据依然是队尾呀,队头出去一个数据,第二个数据就变成了第一个数据的位置,队头指针还是不变啊,怎么都想不明白,

最佳回答

俭朴的鞋子

魁梧的小蜜蜂

2026-04-04 19:58:05

先假设一个数据占的大小是8 Byte。再假设加元素之前,队头指针的值为0x00000010,那第二个数据的地址是0x00000018现在加入元素,那么第二个数据应该变为队头,所以队头指针的值应变为第二个数据的地址。队尾指针同理。 再问: 队头不是最先进去的数据的指针是队头指针么 再答: 对的。前面我想说的是 加元素之前,第一个数据的地址是0x00000010,这时候队头指针是这个值。 后来不是在队列满的情况下再向队尾插入了一个数据么,那原来的第一个数据就应该被扔掉吧?也就是0x00000010应该被释放掉,而队头指针要相应向后移。

最新回答共有2条回答

  • 孤独的银耳汤
    回复
    2026-04-04 19:58:05

    先假设一个数据占的大小是8 Byte。再假设加元素之前,队头指针的值为0x00000010,那第二个数据的地址是0x00000018现在加入元素,那么第二个数据应该变为队头,所以队头指针的值应变为第二个数据的地址。队尾指针同理。 再问: 队头不是最先进去的数据的指针是队头指针么 再答: 对的。前面我想说的是 加元素之前,第一个数据的地址是0x00000010,这时候队头指针是这个值。 后来不是在队列满的情况下再向队尾插入了一个数据么,那原来的第一个数据就应该被扔掉吧?也就是0x00000010应该被释放掉,而队头指针要相应向后移。

上一篇 什么叫黄标车?与之相对应的叫什么标?划分的依据是什么?

下一篇 8的立方根减去 -(2的平方)的平方根是多少