编写一个程序,实现顺序环形队列的各种基本运算。

完成如下功能:

(1)初始化队列q;

(2)判断队列q是否非空;

(3)依次进队元素a,b,c;

(4)出队一个元素,并输出该元素;

(5)输出队列q的元素个数;

(6)依次进队列元素d,e,f;

(7)输出队列q的元素个数;

(8)输出出队序列;

(9)释放队列。



代码:

#include"iostream"
#define MaxSize 50
using namespace std;
class queue{
private:
char data[MaxSize];
    int front,rear;
static int count;
public:
     void initqueue(queue *&);
void destroyqueue(queue *&);
bool queueempty(queue *);
bool enqueue(queue *&,char);
static bool dequeue(queue *&);
static bool outqueue(queue *);
static int getcount(){ return count; }
};


int queue::count=0;


void queue::initqueue(queue *&q)
{
q=new que
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Python代码实现: ```python class Queue: def __init__(self, capacity): self.capacity = capacity self.front = 0 self.rear = 0 self.size = 0 self.data = [None] * capacity def is_empty(self): return self.size == 0 def is_full(self): return self.size == self.capacity def enqueue(self, item): if self.is_full(): raise Exception("Queue is full") self.data[self.rear] = item self.rear = (self.rear + 1) % self.capacity self.size += 1 def dequeue(self): if self.is_empty(): raise Exception("Queue is empty") item = self.data[self.front] self.data[self.front] = None self.front = (self.front + 1) % self.capacity self.size -= 1 return item def peek(self): if self.is_empty(): raise Exception("Queue is empty") return self.data[self.front] def print_queue(self): print("[", end="") for i in range(self.size): index = (self.front + i) % self.capacity print(self.data[index], end="") if i != self.size - 1: print(", ", end="") print("]") ``` 其中,`capacity` 表示队列的容量,`front` 表示队列头部的索引,`rear` 表示队列尾部的索引,`size` 表示队列中元素的个数,`data` 是一个列表,用于存储队列中的元素。 `is_empty` 和 `is_full` 方法分别用于判断队列是否为空和是否已满。 `enqueue` 方法用于将元素加入队列中,如果队列已满,则抛出异常。 `dequeue` 方法用于从队列中取出元素,如果队列为空,则抛出异常。 `peek` 方法返回队列头部的元素,但不会将其从队列中删除。 `print_queue` 方法用于打印队列中的元素。 例如,可以使用以下代码测试队列基本运算: ```python q = Queue(5) q.enqueue(1) q.enqueue(2) q.enqueue(3) q.enqueue(4) q.enqueue(5) q.print_queue() # [1, 2, 3, 4, 5] q.dequeue() q.dequeue() q.print_queue() # [3, 4, 5] print(q.peek()) # 3 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值