侧边栏壁纸
  • 累计撰写 49 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

队列

Administrator
2024-08-23 / 0 评论 / 0 点赞 / 10 阅读 / 1788 字
温馨提示:
本文最后更新于 2024-08-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

队列

#include <iostream>
using namespace std;

//队列的最大容量 
const int MAXSIZE = 100; 

//结构体定义
struct Queue {
    int data[MAXSIZE];
    int front, rear;
};

//初始化队列
void initQueue(Queue& Q) {
    Q.front = 0;
    Q.rear = 0;
}

//判断队列是否为空
bool isEmpty(Queue Q) {
    return Q.front == Q.rear;
}

//判断队列是否已满
bool isFull(Queue Q) {
    return (Q.rear + 1) % MAXSIZE == Q.front;
}

//入队
bool enqueue(Queue& Q, int x) {
    if (isFull(Q)) {
        cout << "队列已满" << endl;
        return false;
    }
    Q.data[Q.rear] = x;
    Q.rear = (Q.rear + 1) % MAXSIZE;
    return true;
}

//出队
bool dequeue(Queue& Q, int& x) {
    if (isEmpty(Q)) {
        cout << "队列为空" << endl;
        return false;
    }
    x = Q.data[Q.front];
    Q.front = (Q.front + 1) % MAXSIZE;
    return true;
}

//遍历队列
void traverseQueue(Queue Q) {
    if (isEmpty(Q)) {
        cout << "队列为空" << endl;
        return;
    }
    cout << "队列元素为:";
    int i = Q.front;
    while (i != Q.rear) {
        cout << Q.data[i] << " ";
        i = (i + 1) % MAXSIZE;
    }
    cout << endl;
}
0

评论区