thumbnail

[자료구조] 스택(Stack) | javascript

[자료구조] 스택(Stack) | javascript

📋 [ 자료구조 ] 시리즈 몰아보기 (4)

📚 스택(Stack)

데이터를 집어넣을 수 있는 선형(linear) 자료형으로 선입후출의 구조를 가진다. ctrl+Z와 같이 이전 작업을 취소하는 기능이 요구될 때 사용된다. 구현해야 할 기능은 다음과 같다.

  • push(item) : stack에 item삽입한다.
  • pop() : stack의 꼭대기에 위치한 원소를 제거한다. 즉 가장 마지막으로 push한 원소가 제거된다.
  • peek() : stack의 꼭대기에 위치한 원소의 값을 출력한다.
  • clear() : stack을 초기화한다.
  • length() : stack의 크기를 출력한다.

js에서는 배열을 이용하여 간단히 구현 가능하다.


          
1 let store = [];
2 let top = 0; // stack의 index값을 대표하는 변수
  • push(item) : store.push(item)
  • pop() : store.pop()
  • peek() : return store[top - 1]
  • clear() : store.splice(0);
  • length() : return top

🖥️ 소스코드

          
1 const Stack = () => {
2 let store = [];
3 let top = 0;
4
5 return{
6 push(item) {
7 store.push(item);
8 top++;
9 },
10 pop() {
11 store.pop();
12 top--;
13 },
14 peek() {
15 return store[top-1];
16 },
17 clear() {
18 store.splice(0);
19 top = 0;
20 },
21 length() {
22 return top;
23 }
24 };
25 };
# 자료구조
# JS
# javascript
# 스택
# Stack

💡 로그인 하지 않아도 댓글을 등록할 수 있습니다!

👨‍💻 관련 포스트