スタックデータ構造の---線形構造

スタックは、私たちがこの小さな要約でコードを書くことが困難な多くの問題を解決することができ、より重要な線形構造です。

インプリメンテーションは、ここでは、シーケンシャル構造は、鎖状構造を改善する必要があります。

コードの場合:

1つの#include <iostreamの>
 2  使用して 名前空間STDを、
3  
4  クラススタック
 5  {
 6  プライベート7      のint MSIZE。
8      int型 * ST;
9      int型のトップ。
10  公衆11      スタック(int型のサイズ)。
12      ブールプッシュ(INTアイテム);
13      ブールポップ()。
14      ボイドディスプレイ();
15      BOOL クリア();
16スタック();
17  }。
18  
19スタック::スタック(int型のサイズ)
 20  {
 21      MSIZE = サイズ。
22      ST = 新しい int型[MSIZE]。
23      トップ= - 1 24  }
 25  
26  ブールスタック::プッシュ(INTアイテム)
 27  {
 28  
29に     あれば(トップ== msize- 1 30      {
 31          COUT << " 栈已满!" << ENDL。
32          リターン 0 33      }
 34      ST [++トップ] = 項目。
35      リターン 1 36  }
 37  
38  ブールスタック::ポップ()
 39  {
 40      であれば(トップ== - 1 41      {
 42          COUT << " 栈已空!" << ENDL。
43          リターン 0 44      }
 45      // アイテム= ST [top--]。
46      top-- ;
47      リターン 1;
48  }
 49  
50  ボイドスタック::ディスプレイ()
 51  {
 52      のint TEMP = トップ。
53      ながら(!TEMP = - 1 54      {
 55          COUT << ST [TEMP] << "  " 56          temp-- 57      }
 58      
59      COUT << ENDL。
60  }
 61  ブールスタック::クリア()
 62  {
 63      トップ= - 1 64      リターン 1;
65  }
 66  
67スタック::〜スタック()
 68  {
 69      [] STを削除します。
70  }
 71  
72  のint main()の
 73  {
 74      スタックST(10 )。
75      INT ELE。
76      裁判所未満<< " 输入元素:" << てendl;
77      のためにint型 I = 0 ; iが< 10 ; iが++ 78      {
 79          CIN >> ELE。
80         st.push(ELE);
 81      }
 82      COUT << " スタックのすべての要素:" << ENDL;
 83      st.display();
 84      st.pop();
 85      st.pop();
 86      COUT << " 印刷後に2つの要素をポップ:" << ; ENDL
 87      st.display();
 88      リターン 0 ;
 89 }

プログラムの結果:

ます。https://www.cnblogs.com/sjlove/archive/2013/05/22/3093780.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33720452/article/details/94019508