C++中栈和队列的基本操作
使用标准库的栈和队列时,先包含相关的头文件
#include
#include
定义栈如下:
stack
定义队列如下:
queue
栈提供了如下的操作:
s.empty() 如果栈为空返回true,否则返回false
s.size() 返回栈中元素的个数
s.pop() 删除栈顶元素但不返回其值
s.top() 返回栈顶的元素,但不删除该元素
s.push() 在栈顶压入新元素
如何输出栈内所有元素:
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> s;
for(int i = 0; i < 3; i++)
s.push(i);
while(s.empty() == false) {
cout << s.top() << " "; //返回栈顶的元素,但不删除该元素
s.pop(); //删除栈顶元素但不返回其值
}
return 0;
}
队列提供了下面的操作:
q.empty() 如果队列为空返回true,否则返回false
q.size() 返回队列中元素的个数
q.pop() 删除队列首元素但不返回其值
q.front() 返回队首元素的值,但不删除该元素
q.push() 在队尾压入新元素
q.back() 返回队列尾元素的值,但不删除该元素
如何输出队内所有元素:
#include <iostream>
#include <queue>
using namespace std;
int main(){
queue<int> q;
for(int i = 0; i < 3; i++)
q.push(i); //入队
while(q.empty() == false) {
cout << q.front() << " "; //返回队首元素的值,但不删除该元素
q.pop(); //删除队列首元素但不返回其值
}
return 0;
}
还没有评论,来说两句吧...