Advertisement

构建固定长度的队列/栈(数组实现)

阅读量:

使用数组实现固定长度的队列

核心实现方式为:采用两个指针start与end,配合一个用于记录当前队列元素数量的变量cur_size。当队列容量超过数组长度时,禁止继续入队操作;而当cur_size小于0时,则不允许执行出队操作。

对于入队操作,需对end指针进行移动。每次将新元素添加至end所指示的位置,并使end指向队尾元素的下一个位置。若end到达数组末尾且当前队列尚未满,则将其重置为0,从而实现循环使用。

至于出队操作,需要对start指针进行调整。每次出队时,从start所指向的位置取出元素,并随后移动start指针。当start抵达数组末尾而队列尚未为空时,将其设置为0,以维持循环结构的正常运行。

复制代码
 class Queue

    
 {
    
 private:
    
     int _size;
    
     int *arr;
    
     int _start=0;
    
     int _end=0;
    
     int cur_size=0;
    
 public:
    
     bool _empty()
    
     {
    
     return cur_size==0;
    
     }
    
  
    
     int length()

全部评论 (0)

还没有任何评论哟~