Queue(队列)
定义和创建
队列(Queue)是一种先进先出(FIFO)的数据结构,在C++的STL中由queue
模板类实现。可以通过以下方式定义和创建一个队列:
#include <queue>
std::queue<int> myQueue; // 创建一个整数类型的队列
初始化
可以通过以下方式初始化一个队列:
std::queue<int> myQueue; // 创建一个空队列
std::queue<int> myQueueWithElements({1, 2, 3}); // 创建一个包含元素的队列
成员函数
push(val)
: 将元素压入队列尾部。pop()
: 弹出队列头部的元素。front()
: 获取队列头部的元素,但不移除。back()
: 获取队列尾部的元素,但不移除。empty()
: 判断队列是否为空。size()
: 获取队列中元素的数量。
示例
std::queue<int> myQueue;
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);
std::cout << "Front element: " << myQueue.front() << std::endl; // 输出 1
std::cout << "Back element: " << myQueue.back() << std::endl; // 输出 3
myQueue.pop(); // 弹出队列头部的元素
std::cout << "Size of queue: " << myQueue.size() << std::endl; // 输出 2
Stack(栈)
定义和创建
栈(Stack)是一种后进先出(LIFO)的数据结构,在C++的STL中由stack
模板类实现。可以通过以下方式定义和创建一个栈:
#include <stack>
std::stack<int> myStack; // 创建一个整数类型的栈
初始化
可以通过以下方式初始化一个栈:
std::stack<int> myStack; // 创建一个空栈
std::stack<int> myStackWithElements({1, 2, 3}); // 创建一个包含元素的栈
成员函数
push(val)
: 将元素压入栈顶。pop()
: 弹出栈顶的元素。top()
: 获取栈顶的元素,但不移除。empty()
: 判断栈是否为空。size()
: 获取栈中元素的数量。
示例
std::stack<int> myStack;
myStack.push(1);
myStack.push(2);
myStack.push(3);
std::cout << "Top element: " << myStack.top() << std::endl; // 输出 3
myStack.pop(); // 弹出栈顶的元素
std::cout << "Size of stack: " << myStack.size() << std::endl; // 输出 2
水平有限,有问题随时联系~