선형자료구조 - 스택) 복습을 위해 작성하는 글 2023-04-06

rizz·2023년 4월 6일
0

자료구조

목록 보기
4/12

📒 갈무리 - 스택(Stack)

📌 스택이란?

- 데이터를 쌓아 올린 형태의 자료구조

- LIFO(Last-In-First-Out) 구조(후입선출)

ex) 브라우저의 뒤로 가기 기능, Ctrl + z(Undo) 기능

- 스택의 최상단을 'Top'이라 한다.(가장 먼저 나올 데이터)

Push(Data) : 스택에 데이터를 밀어 넣는 함수

- 데이터를 밀어 넣다가 스택의 크기가 넘치게 되면 Stack Overflow가 발생한다.

Pop() : 스택에서 데이터를 꺼내는 함수

- 항상 하나씩, 맨 위의 데이터부터 꺼내온다.

- 데이터를 꺼내다가 데이터가 없다면 Stack Underflow가 발생한다.

IsFull() : 스택이 가득 차 있는지 확인하는 함수

IsEmpty() : 스택이 비어있는지 확인하는 함수

Peek() : Pop과 유사하지만 스택 안에서의 데이터를 삭제하지 않고 확인만 하는 함수

// C#
// 제네릭 타입이 아닌 스택도 존재하지만 제네릭 타입의 스택을 사용할 것을 권고

            Stack<int> stack = new Stack<int>(); // 선언
            
            // 데이터 넣기
            stack.Push(1); // 1
            stack.Push(2); // 2 1
            stack.Pop(); // 데이터 꺼내오기 (2를 꺼내옴)
            stack.Push(3); // 3 1
            
            // Top 데이터 확인
            int peek = stack.Peek(); // 3
profile
복습하기 위해 쓰는 글

0개의 댓글