C++ STL 之 stack


stack 是一種先進后出(first in last out,FILO)的數據結構,它只有一個出口,stack 只允許在棧頂新增元素,移除元素,獲得頂端元素,但是除了頂端之外,其他地方不允許存取
元素,只有棧頂元素可以被外界使用,也就是說 stack 不具有遍歷行為, 沒有迭代器
特性總結: 棧不能遍歷,不支持隨機存取,只能通過 top 從棧頂獲取和刪除元素.
 1 #include <iostream>
 2 #include <stack>
 3 using namespace std;
 4 
 5 // stack 構造函數
 6 // stack<T> stkT;//stack 采用模板類實現, stack 對象的默認構造形式:
 7 // stack(const stack &stk);//拷貝構造函數
 8  
 9 // stack 賦值操作
10 // stack& operator=(const stack &stk);//重載等號操作符
11 
12 // stack 數據存取操作
13 // push(elem);//向棧頂添加元素
14 // pop();//從棧頂移除第一個元素
15 // top();//返回棧頂元素
16 
17 // stack 大小操作
18 // empty();//判斷堆棧是否為空
19 // size();//返回堆棧的大小
20 
21 void test01()
22 {
23     // 初始化
24     stack<int> s1;
25     stack<int> s2(s1);
26     // stack 操作
27     s1.push(10);
28     s1.push(20);
29     s1.push(30);
30     s1.push(100);
31     cout << "棧頂元素:" << s1.top() << endl;
32     while (!s1.empty())
33     {
34         cout << s1.top() << " ";
35         s1.pop();
36     }
37     cout << endl;
38     cout << "size: " << s1.size() << endl;
39     cout << "------------------" << endl;
40 }
41 
42 int main()
43 {
44     test01();
45     getchar();
46     return 0;
47 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM