面对现实,超越自己
逆水行舟,不进则退
posts - 269,comments - 32,trackbacks - 0
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。
1.empty() 堆栈为空则返回真
2.pop() 移除栈顶元素
3.push() 在栈顶增加元素
4.size() 返回栈中元素数目
5.top() 返回栈顶元素

栈可以用向量(vector)、线性表(list)或双向队列(deque)来实现:
stack<vector<int>> s1;
stack<list<int> > s2;
stack<deque<int>> s3;
其成员函数有“判空(empty)” 、“尺寸(Size)” 、“栈顶元素(top)” 、“压栈(push)” 、“弹栈(pop)”等。

范例引自:http://blog.csdn.net/morewindows/article/details/6950881

 1 int main()  
 2 {  
 3     //可以使用list或vector作为栈的容器,默认是使用deque的。   
 4     stack<int, list<int>>      a;  
 5     stack<int, vector<int>>   b;  
 6     int i;  
 7       
 8     //压入数据   
 9     for (i = 0; i < 10; i++)  
10     {  
11         a.push(i);  
12         b.push(i);  
13     }  
14   
15     //栈的大小   
16     printf("%d %d\n", a.size(), b.size());  
17   
18     //取栈项数据并将数据弹出栈   
19     while (!a.empty())  
20     {  
21         printf("%d ", a.top());  
22         a.pop();  
23     }  
24     putchar('\n');  
25   
26     while (!b.empty())  
27     {  
28         printf("%d ", b.top());  
29         b.pop();  
30     }  
31     putchar('\n');  
32     return 0;  
33 }  
34 

posted on 2012-06-05 13:16 王海光 阅读(591) 评论(0)  编辑 收藏 引用 所属分类: STL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理