Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

Stack 본문

Java/자료구조

Stack

Seung__ 2021. 6. 2. 23:54

1. 맨 마지막(top)  위치에서만 자료를 추가, 삭제, 꺼내올 수 있다.

   중간에 있는 자료를 꺼낼 수 없음!

   data를 블럭 쌓는 것 과 같이 하나씩 쌓아 올린다고 보면 된다.

push()
pop()

2. Last In First out

 

3. 가장 최근의 자료를 찾아오는데 사용할 수 있음.

   게임으로 예를 들면 가장 최근의 세이브를 불러오는 것과 유사.

 

4. 함수의 메모리는 호출 순서에 따른 stack 구조.

 

5. jdk Class : Stack으로 사용하면 된다.

 

6. Stack 이 제공하는  method

 - push() : item을 stack의 top에 추가

 - pop() : top에 있는 item을 꺼내온다.

 - peek() : top에 있는 item을 보여준다.

 - search() : 특정 item이 stack 어디에 있는지 알려준다.

 - empty() : stack이 비었는지 확인.

 

7. Stack 생성방법

   Stack<데이터 타입> stack = new Stack<>() -> 빈 stack  생성

 

8. 코드 및 예제

 public static void main(String[] args) {

      Stack<Integer> stack = new Stack<>();

      System.out.println("push method");
      stack.push(0);
      System.out.println("Stack : " + stack.toString());
      stack.push(1);
      System.out.println("Stack : " + stack.toString());
      stack.push(2);
      System.out.println("Stack : " + stack.toString());
      stack.push(3);
      System.out.println("Stack : " + stack.toString());
      stack.push(4);
      System.out.println("Stack : " + stack.toString());
      stack.push(5);
      System.out.println("Stack : " + stack.toString());

      System.out.println("pop method");
      stack.pop();
      System.out.println("Stack : " + stack.toString());
      stack.pop();
      System.out.println("Stack : " + stack.toString());

      System.out.println("peek method");
      System.out.println("Stack : " + stack.toString());
      System.out.println("peek : " + stack.peek());

      System.out.println("empty method");
      System.out.println("empty? : " + stack.empty());

      System.out.println("search mehtod");
      System.out.println("2가 어디있어 : " + stack.search(2));
      System.out.println("Stack : " + stack.toString());

      

   }

데이터를 하나씩 쌓아 올리고, 위에서부터 빼내오는 것을 확인할 수 있다.

push method
Stack : [0]
Stack : [0, 1]
Stack : [0, 1, 2]
Stack : [0, 1, 2, 3]
Stack : [0, 1, 2, 3, 4]
Stack : [0, 1, 2, 3, 4, 5]
pop method
Stack : [0, 1, 2, 3, 4]
Stack : [0, 1, 2, 3]
peek method
Stack : [0, 1, 2, 3]
peek : 3
empty method
empty? : false
search mehtod
2가 어디있어 : 2
Stack : [0, 1, 2, 3]

 

 

 

'Java > 자료구조' 카테고리의 다른 글

자료구조-비선형  (0) 2021.10.24
자료구조 - 선형  (0) 2021.10.23
Map, HashMap  (0) 2021.07.22
Queue  (0) 2021.06.06
Linked List :연결 리스트  (0) 2021.06.06
Comments