[자료구조] Stack : JAVA로 구현하기

JAVA 코드로 구현해보자

1. Stack클래스 생성

class Stack<T>{
}

T타입을 받는 Stack 클래스 생성

private T data;
private Node<T> next;

T타입의 data 생성
다음 Node생성,

public Node(T data){
	this.data = data;
}

생성자를 생성한 후, data를 받고 내부 변수에 저장한다.

pop메소드

private Node<T> top;

Node 타입의 top 변수를 선언한다.

public T pop(){
}

public 필드이고 반환값이 T이고, 메소드명은 pop이다.

if(pop==null){
throw new EmptyStackException();	
}

만약에 top이 null 이면, 예외처리를 해준다.

T item = top.data;
top = top.next;
return item;

top.data를 T 타입의 변수 item에 담고
top.next를 top에 담는다.
item을 리턴한다.

push 메소드

public void push(T item){
}

push할 T타입의 아이템을 받는다.

Node<T> t = new Node<T>(item);

그 item을 가지고 Node를 생성한다.

t.next = top;
top = t;

top앞에 top을 담고,
top에 t를 넣는다.

peek 메소드

public T peek(){
}

public필드의 반환값이 T이고 메소드이름은 peek이다.

if(top==null){
	throw new EmptyStackException();
}
return top.data;

top이 null이면 예외처리 해주고,
그 외의 경우에는 top.data를 리턴한다.

isEmpty 메소드

isEmpty를 사용하면 top==null인지 true/false를 반환하게 된다.

좋은 웹페이지 즐겨찾기