[자료구조] 스택(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
👨💻 관련 포스트
[자료구조] 큐(Queue) | javascript
[자료구조] 큐(Queue) | javascript
javascript로 이해하는 자료구조 [큐(queue)] : 큐(queue)는 데이터를 입력할 수 있는 선형 자료형으로 선입선출의 구조를 가진다. 버퍼링과 같은 기능에서 요구되는 자료형이다. javascript에서는 배열을 이용해 손쉽게 구현할 수 있다.
2023-04-20
[자료구조] 덱(Deque) | javascript
[자료구조] 덱(Deque) | javascript
javascript로 이해하는 자료구조 [덱(deque)] : 덱(deque)은 스택(stack)과 큐(queue)를 합친 자료구조로 head, tail 구분 없이 양방향에서 자료를 입출력 할 수 있는 자료형이다. javascript에서는 배열을 이용해 손쉽게 구현할 수 있다.
2023-04-21
[자료구조] 연결리스트(linked_list) | javascript
[자료구조] 연결리스트(linked_list) | javascript
javascript로 이해하는 자료구조 [연결리스트(linked-list)] : 연결리스트(linked-list)는 리스트의 일종으로 노드(node)와 데이터가 포인터(pointer)를 가지고 한 줄로 이어져있는 형태를 띈다. 자료의 추가 및 삭제 시간복잡도가 O(1)이나 다른 자료형보다 저장공간을 많이 차지하는 단점이 있다.
2023-04-25
💡 로그인 하지 않아도 댓글을 등록할 수 있습니다!