일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- 제약조건 확인
- 백준 2437
- 도서관관리프로그램
- 자바 자료구조
- ORACLE JOIN
- 백준 저울
- java 백준
- JAVA공부
- java
- 자바 예제
- 코딩
- 자바
- 오라클 쿼리 함수
- 오라클 그룹 함수
- 자바 알고리즘
- 제약조건 설정
- 오라클 기본 쿼리
- 오라클
- 도서관 관리
- oracle constraints
- 백준 문제
- 오라클 쿼리문
- java실습
- java 도서관관리프로그램
- 오라클 제약조건
- 백준 자바
- java프로젝트
- 오라클 인라인뷰
- JAVA 예제
- Today
- Total
DEVELOPER NOMAD
[JAVA 자료구조 STACK 만들기] 실습 (자바 자료구조 STACK 만들기 실습) 본문
[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;
}
}
'JAVA(자바) > JAVA(자바) 실습' 카테고리의 다른 글
JAVA 숫자 야구 게임 (자바 숫자 야구 게임) (0) | 2019.01.07 |
---|---|
[JAVA 자료구조 LinkedList] 만들기 실습 (JAVA 자료구조 연결리스트 만들기 실습) (1) | 2019.01.04 |
JAVA Calendar 만들기 실습 (자바 달력 만들기 실습) (2) | 2019.01.04 |