この記事では、2 つのスタックを使用して JS でキューを実装するアルゴリズムについて説明します。必要な方はぜひ参考にしてください。
2 つのスタックを使用してキューを実装し、キューのプッシュ操作とポップ操作を完了します。 キュー内の要素は int 型です。
2 つのスタックはキュー、つまり 1 つの入力と 1 つの出力を実装しており、質問では 2 つのスタックの長さの制限について言及されていないため、2 つのスタック s1 と s2 については、支払うべきポイントが 2 つあります。注意点:
s1.push のとき、s2 が空でなく、s1 が空の場合、正しい順序を確保するために、s2 のすべての要素が s1 に返され、その後 s1.push
s2.pop、s2 が空で s1 が空ではない場合、正しい順序を確保するために、s1 のすべての要素を s2 に入れてから s2.pop
var s1 = [], s2 = []; function transferStack(a, b) { while(a.length !== 0){ b.push(a.pop()); } } function push(val) { if(s1.length === 0 && s2.length !== 0){ transferStack(s2, s1); } s1.push(val); } function pop(){ if(s1.length !== 0 && s2.length === 0){ transferStack(s1, s2); } return s2.pop(); }
関連推奨事項:
jQuery 二分木再構成アルゴリズムの解析を実現する$()関数
以上がjsで2つのスタックを使ってキューを実装するアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。