当前位置:首页 C++ > 正文

c++数组表示队列

作者:野牛程序员:2023-08-23 16:24:45 C++阅读 2622

使用C++数组来表示队列是一种常见的方法。以下是一个简单的使用C++数组实现队列的示例代码:

#include <iostream>

class Queue {
private:
    int* array;
    int front;
    int rear;
    int capacity;

public:
    Queue(int size) {
        capacity = size;
        array = new int[capacity];
        front = 0;
        rear = -1;
    }

    ~Queue() {
        delete[] array;
    }

    bool isEmpty() {
        return front > rear;
    }

    bool isFull() {
        return rear == capacity - 1;
    }

    void enqueue(int value) {
        if (isFull()) {
            std::cout << "Queue is full. Cannot enqueue." << std::endl;
            return;
        }
        array[++rear] = value;
    }

    void dequeue() {
        if (isEmpty()) {
            std::cout << "Queue is empty. Cannot dequeue." << std::endl;
            return;
        }
        front++;
    }

    int getFront() {
        if (isEmpty()) {
            std::cout << "Queue is empty." << std::endl;
            return -1; // You can choose a different way to handle this case
        }
        return array[front];
    }
};

int main() {
    Queue queue(3);

    queue.enqueue(10);
    queue.enqueue(20);
    queue.enqueue(30);

    std::cout << "Front element: " << queue.getFront() << std::endl;

    queue.dequeue();

    std::cout << "Front element after dequeue: " << queue.getFront() << std::endl;

    return 0;
}

在这个示例中,使用一个C++类 Queue 来表示队列,内部使用数组来存储元素。队列的 enqueue 操作在数组末尾添加元素,队列的 dequeue 操作从队列前端移除元素。队列的空和满状态是通过检查 frontrear 指针来判断的。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击