간단한 스택(stack) 함수
자료구조에서 3가지를 배웁니다.
큐, 스택, 디큐 여기서 스택은 먼저 들어간것이 나중에 나오는 방식 입니다.
즉, 최근에 들어간것이 먼저 나옵니다.
브라우저의 앞으로가기 뒤로가기 같은 것을 생각하시면 될것 같습니다.
이건 구현하려면. 두개의 스택을 만들고 넣고 빼고 해야 될듯 합니다.
function Stack(max_size)
{
const SIZE = max_size;
let top = 0;
let aItem = [];
return {
pop() {
if(top < 1) {
return -11;
}
else {
let temp = aItem[top];
top--;
return temp;
}
},
push(item) {
if(SIZE > top) {
top++;
return aItem[top] = item;
}
else {
return -21;
}
},
peek() {
return aItem[top];
},
length() {
return top;
},
clear() {
top = 0;
aItem = [];
}
}
}
var a = Stack(999);
a.push(1);
a.push(2);
var test = a.pop();
console.log('test:', test);
a.clear();
var test = a.pop();
console.log('test:', test);
통상적으로 클래스는 대문자로 시작합니다.
본인만의 규칙을 정하는 것이 좋습니다. 회사면 회사에서 다른직원이 봐도 뭔지 알 수 있게 헝가리안표기법을 사용하는것도 좋겠습니다.
* 참고한곳
https://coding-restaurant.tistory.com/385
https://dororongju.tistory.com/105