DEVELOPER NOMAD

[JAVA 자료구조 STACK 만들기] 실습 (자바 자료구조 STACK 만들기 실습) 본문

JAVA(자바)/JAVA(자바) 실습

[JAVA 자료구조 STACK 만들기] 실습 (자바 자료구조 STACK 만들기 실습)

DEVELOPER NOMAD 2019. 1. 4. 12:42


안녕하세요 .  자료구조 STACK 을 java 언어로 구현 해 보았습니다. 궁금하신점이나 태클 환영이에요! 


자료구조 스택은 쉬운편이라 생각이 들어 스택 구조 설명은 따로 하지 않았습니다 !


메인함수는 따로 작성하지 않았으니 원하시는데로 객체 생성하여 테스트 해보시면 될것 같습니다. !


// 먼저 스택 의 메소드 구조 들 입니다. 


public interface MyStack<E> {


public E pop(); // 스택 상단의 데이터를 삭제

public E peek(); // 스택 상단의 데이터를 가져오는 메소드

public boolean isEmpty(); // 비어있으면 true

public void push(E data); // 데이터 삽입.

}


// 스택의 메소드 구현 부분 입니다.


public class MyStackImpl<E> implements MyStack<E> {


private Object[] elementData;

private int index;


// 배열 크기 지정 생성자를통해

public MyStackImpl(int size) {

elementData = new Object[size];

index = 0;

}


@Override

public E pop() {


if (isEmpty())

throw new IndexOutOfBoundsException("스택이 비어있음.");


E item = peek();

elementData[--index] = null;


return item;

}


@SuppressWarnings("unchecked")


@Override

public E peek() {

if (isEmpty())

throw new IndexOutOfBoundsException("스택이 비어있음.");


return (E) elementData[index - 1]; // 데이터 top 위치를 리턴하고 삭제 하지 않는다.

}


@Override

public boolean isEmpty() {


return index <= 0;


}


@Override

public void push(E data) {

if (index >= elementData.length) {

throw new IndexOutOfBoundsException();

}


elementData[index++] = data;


}



}



Comments