Dieser Artikel teilt Ihnen den Algorithmus zur Verwendung von zwei Stapeln zur Implementierung von Warteschlangen in js mit. Der Inhalt ist sehr gut. Ich hoffe, er kann allen helfen.
Verwenden Sie zwei Stapel, um eine Warteschlange zu implementieren und die Push- und Pop-Vorgänge der Warteschlange abzuschließen. Die Elemente in der Warteschlange sind vom Typ int.
Zwei Stapel implementieren Warteschlangen, das heißt, einer rein und einer raus, und in der Frage wird die Längenbeschränkung der beiden Stapel nicht erwähnt zwei Stapel s1 Für s2 sind zwei Punkte zu beachten:
Wenn s1.push, wenn s2 nicht leer und s1 leer ist, um die richtige Reihenfolge sicherzustellen , Alle Elemente von s2 werden an s1 zurückgegeben und dann an s1.push
s2.pop Wenn s2 leer ist und s1 nicht leer ist, wird die Elemente von s1 werden alle Elemente in s2 einfügen und dann 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(); }
Verwandte Empfehlungen:
So verwenden Sie die Funktion $() in jQuery
Das obige ist der detaillierte Inhalt vonAlgorithmus zur Implementierung einer Warteschlange mithilfe von zwei Stapeln in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!