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;
}

1008

被折叠的 条评论
为什么被折叠?



