[アルゴリズム] コミュニティスタック
あなたが見ることができるスタックの操作について ここに
スタックは、前後を形成するためのリンクのリストがあるので、私たちは公共向けることはできません 2 スタック. スタックスタックS2 S1で仮定する必要性コミュニティ, 使用しております 1 STEMPは、S2の中間値を格納するためにスタックし、そしてちょうどS1 STEMPターンオンの値を入れて.
コミュニティの場合 2 Stackは歌いました 1 新しいスタックは、すべてを転送する必要があります 2 メインスタックの必要性のコミュニティに切り替える前に、ミドルウェア・スタックをスタック. スタックプラス多くが同じことをやりました.
#include <iostream> #include <stack> using namespace std; int main(){ stack <int> S1; stack <int> S2; stack <int> Stemp; // create 2 Stack for (int i = 0; i < 5; i++) S1.push(i); // S1 : 0 1 2 3 4 for (int i = 5; i < 10; i++) S2.push(i); // S2 : 5 6 7 8 9 // move S2 to Stemp; while (!S2.empty()){ int x = S2.top(); S2.pop(); Stemp.push(x); // Stemp : 9 8 7 6 5 } // move Stemp to S1 while(!Stemp.empty()){ int x = Stemp.top(); Stemp.pop(); S1.push(x); // S1 : 0 1 2 3 4 5 6 7 8 9 } // show S1 while (!S1.empty()){ int x = S1.top(); S1.pop(); cout << x << " "; } return 0; }
最近のコメント