본문 바로가기
휴지통/알고리즘 & 자료구조

Stack

by 신재권 2021. 7. 15.
package review1;

import java.util.Stack;

public class Stack02 {

//	스택은 LIFO (Last-in , First-out)의 구조이다.
//	즉 한쪽 끝에서만 자료를 넣을 수 있고 뺄 수 있다.
//	스택을 직접 구현할때는 데이터의 추가/삭제가 쉬운 LinkedList로 구현하는 것이 적절하다.

	public static void main(String[] args) {
		Stack<Integer> stack = new Stack<Integer>();
		
		//데이터 삽입
		stack.push(1);
		stack.push(3);
		stack.push(5);
		System.out.println(stack);
		
		//맨위에 쌓여있는 데이터반환(제일 마지막에 들어간 데이터 반환)
		System.out.println(stack.peek());
		
		//맨 위에 있는 데이터 삭제
		stack.pop();
		System.out.println(stack);
		
		//데이터 찾기 
		System.out.println(stack.search(1)); //스택은 배열과 달리 위치 1 시작 1은 마지막 위치(2에 존재)
		System.out.println(stack.search(3)); 
		
		stack.pop();
		stack.pop();
		
		//스택이 비어있는지 확인하기
		if(stack.empty())
			System.out.println("Stack is Empty !!");
		
	}

}

'휴지통 > 알고리즘 & 자료구조' 카테고리의 다른 글

Queue  (0) 2021.07.15
Queue 구현  (0) 2021.07.15
Stack 구현  (0) 2021.07.14
Linked List  (0) 2021.07.14
Single Linked List  (0) 2021.07.14