이 글은 2개의 큐를 사용하여 스택을 표현하는 JS 방식을 주로 소개하고, 2개의 큐를 사용하여 스택을 표현하는 원리를 간략하게 분석하고, 구체적인 예시를 통해 자바스크립트 관련 조작 스킬을 분석하여 도움이 필요한 친구들이 참고할 수 있습니다
The 이 기사의 예제에서는 두 개의 대기열을 사용하여 스택을 나타내는 JS 방법을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
회로도를 먼저 살펴보세요.
아이디어를 정리한 다음 쓰기 시작하세요.
<!DOCTYPE html> <html> <head> <title>2 Queue</title> <meta charset="utf-8"/> <script type="text/javascript"> var arr1 = []; var arr2 = []; function Queue(arr){ this.push = function(element){ return arr.push(element); } this.pop = function(){ return arr.shift(); } this.size = function(){ return arr.length; } this.display = function(){ console.log(arr); } } var queue1 = new Queue(arr1); queue1.push(1); queue1.push(4); queue1.push(5); queue1.push(7); queue1.display(); var queue2 = new Queue(arr2); //利用两个队列实现栈。放在数组中打印 var res = [], k = 0; while(queue1.size()!=0){ var len = queue1.size(); for(var i = 0; i<len-1; i++){ queue2.push(queue1.pop()); } // 打印queue1最后一个元素,并出队 res[k] = queue1.pop(); ++k; // 队列2的元素放置到队列1中 for(var i = 0; i<len-1; i++){ queue1.push(queue2.pop()); } } console.log("res:" + res); //利用两个队列实现栈。单个弹出 while(queue1.size()!=0){ var len = queue1.size(); for(var i = 0; i<len-1; i++){ queue2.push(queue1.pop()); } // 打印queue1最后一个元素,并出队 console.log(queue1.pop()); // 队列2的元素放置到队列1中 for(var i = 0; i<len-1; i++){ queue1.push(queue2.pop()); } } </script> </head> <body> </body> </html>
결과 실행:
위 이것은 모두를 위해 제가 정리한 것입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
async-validator를 사용하여 양식 구성 요소를 작성하는 방법(자세한 자습서)
WeChat 애플릿을 사용하여 이미지 업로드 기능을 구현하는 방법
in js 이미지 업로드 및 압축 기능 구현 방법(자세한 튜토리얼)
위 내용은 JS에서 스택을 표현하기 위해 두 개의 대기열을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!