목록LIFO (2)
판봉 개발 일기
스택의 개념 스택은 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다. 스택은 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입섭출(LIFO)방식으로 자료를 처리합니다. TOP -Stack으로 할당된 기억공간에 가장 마지막으로 삽입된 자료가 기억된 위치를 가리키는 요소입니다. 또한스택 포인터라고도 합니다. BOottom : 스택의 가장 밑입니다. 자료의 삽입(Push) M : 스택의 크기 Top : 스택 포인터 X : 스택의 이름 Overflow : 스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할때, TOP Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져있는 상태이기에 더 이상 자료를 삽입할수 없어서 Overflow를 발생시킵니다. 자료의 삭제(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cFfER7/btq9zi5kTfr/Ug6Gn3hTeU3ZbrokUBNEkk/img.jpg)
LIFO 컬렉션은 "후입선출" 이라고도 한다. "후입선출"이라 함은 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말한다. LIFO 자료구조를 제공하는 Stack 클래스가 존재한다. "Stack"은 위의 사진 처럼 세로를 연상하면 이해가 쉬울 것 같다. 다음 표는 Stack 클래스의 주요 메소드이다. 리턴 타입 메소드 설명 E push(E item) 주어진 객체를 스택에 넣음 E peek() 스택의 맨 위 객체를 가져옴 객체를 스택에서 제거하지 않음 E pop() 스택의 맨 위 객체를 가져오지만 객체를 스택에서 제거함 Stack 객체를 생성하는 방법은 아래와 같다. Stack stack = new Stack(); Stack stack = new Stack(); // 왼쪽 Stack에 지정된 타입을 자동으..