blog

ソード・オフター - 2つのスタックを持つキューを実装する

2つのスタックを持つ待ち行列を実装します。待ち行列の宣言は以下の通りですので,その2つの関数を実装し,それぞれ,待ち行列の最後尾にノードを挿入し,先頭のノードを削除する機能を完成させてください....

Aug 20, 2020 · 1 min. read
シェア

トピック: 2つのスタックを持つキューの実装

2つのスタックを持つキューを実装します。キューの宣言は以下のとおりです。キューの末尾にあるノードの挿入とキューの先頭にあるノードの削除を完了するために、それぞれappendTail関数とdeleteHead関数を実装してください。

問題解決のためのアイデア

まず第一に、スタックを理解する:先入れ先出し、キュー:先入れ先出し特性;できるように、キューを介してすべての要素に要素に、スタック1要素のスタックに、キューが時間の要素から出てくる必要があるときに、スタック1の要素になりますスタック2に、その後、スタック2ポップアップを介して、2つのスタックを介して要素の先入れ先出し特性を達成できるように。

ソリューションコード


 Stack<Integer> stack1 = new Stack<>();
 Stack<Integer> stack2 = new Stack<>();
 public void appendTail(int node) {
 stack1.push(node);
 }
 public int deleteHead() {
 if (stack2.isEmpty()) {
 while (stack1.empty() != true) {
 stack2.push(stack1.pop());
 }
 }
 if (stack2.empty() == true) {
 return -1;
 }
 return stack2.pop();
 }

追記

ソード・トゥ・オフター』より抜粋

Read next

ul以下の複数のliにリスニング・イベントをバインドする

リスナーイベントを各liに1つずつバインドする場合、liの数が多すぎると、多くのリスナーをバインドする必要があり、メモリリークにつながる可能性がありますし、コードも複雑になります。そこで、ulタグにリスナーイベントをバインドし、liをクリックするとulのクリックイベントが発生するようにします。

Aug 20, 2020 · 2 min read