stack栈
c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)
使用该容器时需要包含#include<stack>头文件;
定义stack对象的示例代码如下:
stack<int>s1;
stack<string>s2;
stack的基本操作有:
1 s.empty() 如果栈为空返回true,否则返回false 2 s.size() 返回栈中元素的个数 3 s.pop() 删除栈顶元素但不返回其值 4 s.top() 返回栈顶的元素,但不删除该元素 5 s.push() 在栈顶压入新元素
stack的使用范例:
1 //栈 stack支持 empty() size() top() push() pop() 2 // by MoreWindows(http://blog.csdn.net/MoreWindows) 3 #include <stack> 4 #include <vector> 5 #include <list> 6 #include <cstdio> 7 using namespace std; 8 int main() 9 { 10 //可以使用list或vector作为栈的容器,默认是使用deque的。 11 stack<int, list<int>> a; 12 stack<int, vector<int>> b; 13 int i; 14 15 //压入数据 16 for (i = 0; i < 10; i++) 17 { 18 a.push(i); 19 b.push(i); 20 } 21 22 //栈的大小 23 printf("%d %d\n", a.size(), b.size()); 24 25 //取栈项数据并将数据弹出栈 26 while (!a.empty()) 27 { 28 printf("%d ", a.top()); 29 a.pop(); 30 } 31 putchar(‘\n‘); 32 33 while (!b.empty()) 34 { 35 printf("%d ", b.top()); 36 b.pop(); 37 } 38 putchar(‘\n‘); 39 return 0; 40 }
时间: 2024-10-29 19:06:35