JS의 스택 구조
Stack 클래스 구현
function Stack(){
this.dataStore = [];
this.top = 0;
this.push = push;
this.pop = pop;
this.peek = peek;
this.clear = clear;
this.length = length;
}
function push(element){
this.dataStore[this.top++] = element;
}
function peek(){
return this.dataStore[this.top-1];
}
function pop(){
return this.dataStore[--this.top];
}
function clear(){
this.top = 0;
}
function length(){
return this.top;
}
실례: 디지털 간의 상호 변환
가령 디지털 n을 b를 기수로 하는 숫자로 변환하고 싶다면 변환을 실현하는 알고리즘은 다음과 같다. (1) 최고위는 n%b이고 이 위치를 창고에 눌러 넣는다.(2) n(3) 대신 n/b를 사용하여 n이 0이 될 때까지 1, 2단계를 반복하고 남은 숫자가 없을 때까지 (4) 창고 안의 요소를 계속 꺼내서 창고가 비어 있을 때까지 순서대로 배열하면 변환된 숫자의 문자열 형식을 얻는다
function mulBase(num,base){
var s = new Stack();
do{
s.push(num % base);
num = Math.floor(num /= base)
}while(num > 0);
var converted = "";
while(s.length() > 0){
converted += s.pop();
}
}
실례: 한 단어가 회문인지 아닌지 판단
function isPlaindrome(word){
var s = new Stack();
for(var i=0;i 0){
rword += s.pop();
}
if(word == rword){
return true;
}else{
return falsej;
}
}
데이터 구조와 알고리즘 Javascript에서 정리
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.