일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Timsort
- 코딩테스트
- 프로그래머스
- collections.sort
- 우선순위 큐
- 파싱
- 큐
- 자료구조
- 코테준비
- 이진트리탐색
- 퀵정렬
- LinkedList
- heap
- 코테
- divide and conquer
- 힙
- 거품정렬
- 백준
- 트라이
- 삽입정렬
- 해시함수
- 연결리스트
- stack
- 15552번
- 선택정렬
- 분할정복
- MSA
- 스터디
- 스택
- 팀정렬
- Today
- Total
목록stack (2)
Little bIT awesome

Stack 스택(Stack)의 사전적 정의는 '쌓다', '더미'이다. 즉, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있다. 그림과 같이 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 특징이 있는데, 이러한 자료의 구조를 LIFO(Last In First Out) 구조라고 말한다. Stack 사용처 스택은 수식계산, 수식 괄호 검사, undo / redo, 웹브라우저의 뒤로 / 앞으로 등에 사용된다. JVM(자바 가상 머신)의 Runtime Data Area에 Stack 메모리에도 사용된다. Stack은 마지막으로 사용이 끝난 지역변수를 바로바로 쳐내버려 메모리를 매우 효율적으로 사용하는 방법이기 때문에 스택의 구조 개념이 프로그래밍 메모리 영역에 고대로 사용되는 것이..

스택 & 큐 스택(Stack) 입력과 출력이 한 방향으로 제한 LIFO(Last In First Out, 후입선출) : 가장 나중에 들어온 것이 먼저 나옴 ex) 함수의 콜스택, 문자열 역순 출력, 연산자 후위표기법에 사용됨 sp: 스택 포인터 private int sp = -1; // 초기값 push(): 스택에 데이터 넣기 public void push(Object o) { if(isFull(o)) { return; } stack[++sp] = o; } pop(): 데이터 최상위 값 빼기 public Object pop() { if(isEmpty(sp)) { return null; } Object o = stack[sp--]; return o; } isEmpty(): 스택이 비어있는지 확인하기 pri..