C++标准库中队列功能

1.普通队列
 

#include <iostream>
#include <queue>

int main() {
    // 创建一个存储整数的队列
    std::queue<int> myQueue;

    // 1. 入队操作 (Enqueue)
    myQueue.push(10);
    myQueue.push(20);
    myQueue.push(30);
    std::cout << "入队 10, 20, 30 后,队列当前大小: " << myQueue.size() << std::endl;

    // 2. 判断队列是否为空 (Is Empty)
    if (!myQueue.empty()) {
        std::cout << "队列不为空" << std::endl;
    }

    // 3. 获取队头元素 (Front)
    std::cout << "队头元素是: " << myQueue.front() << std::endl;

    // 4. 出队操作 (Dequeue)
    myQueue.pop();
    std::cout << "出队一次后,新的队头元素是: " << myQueue.front() << std::endl;

    // 5. 获取队列大小 (Size)
    std::cout << "当前队列大小是: " << myQueue.size() << std::endl;

    return 0;
}

2.双端队列

#include <iostream>
#include <deque>

int main() {
    std::deque<int> myDeque;

    // 1. 两端入队操作
    myDeque.push_back(1);  // 队尾入队
    myDeque.push_front(0); // 队头入队
    std::cout << "队头入队 0,队尾入队 1 后,队列元素为: ";
    for (int num : myDeque) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 2. 两端出队操作
    myDeque.pop_front(); // 队头出队
    myDeque.pop_back();  // 队尾出队
    std::cout << "队头和队尾各出队一次后,队列大小: " << myDeque.size() << std::endl;

    return 0;
}

3.优先级队列

#include <iostream>
#include <queue>

int main() {
    // 创建一个存储整数的最大优先级队列
    std::priority_queue<int> myPriorityQueue;

    // 1. 入队操作
    myPriorityQueue.push(3);
    myPriorityQueue.push(1);
    myPriorityQueue.push(2);
    std::cout << "入队 3, 1, 2 后,队列当前大小: " << myPriorityQueue.size() << std::endl;

    // 2. 获取优先级最高的元素(最大元素)
    std::cout << "当前优先级最高的元素是: " << myPriorityQueue.top() << std::endl;

    // 3. 出队操作
    myPriorityQueue.pop();
    std::cout << "出队一次后,新的优先级最高的元素是: " << myPriorityQueue.top() << std::endl;

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值