Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Exception Handing
- image 압축
- SQL 내장 함수
- 쿠버네티스 패턴
- ubuntu redis
- redis 명령어
- 도커
- kafkaCLI
- REST 성숙도 모델
- Port already in use: 9999
- redis 외부설정
- 객체
- 자료구조
- 웹 애플리케이션 아키텍처
- docker
- Oracle.DatabaseError
- apt-rdepends
- 특정 행
- 예외 전가
- 의존성 설치
- 선언적 배포
- 포함 관계
- redis 설정
- 웹 애플리케이션 요청 흐름
- 폐쇄망
- 예측 범위 내의 요구사항
- 의존성 패키지 설치
- 특정 행 출력
- abstract 제어자
- 오프라인 설치
Archives
- Today
- Total
리꾸므
[자료구조]Stack 본문
Stack
데이터를 순서대로 쌓는 자료구조이다. 가장 먼저 들어간 자료가 가장 나중에 나올 수 있고, 가장 나중에 들어간 자료가 가장 먼저 나올 수 있다.
- 입력과 출력이 하나의 방향으로 이루어지는 제한적 접근이다.
- 이런 자료구조 정책을 LIFO(Last In First Out) 혹은 FILO(First In Last Out)이라고도 부른다.
- 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP'이라고 한다.
Stack 특징
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
---------------------------
1 <- 2 <- 3 <- 4
---------------------------
stack.pop();
stack.pop();
stack.pop();
stack.pop();
---------------------------
4, 3, 2, 1
---------------------------
1. LIFO
먼저 들어간 데이터는 제일 나중에 나오는 후입선출의 구조이다.
2. 데이터는 하나씩 넣고 뺄 수 있다.
아무리 많은 데이터가 있어도 하나씩 넣고 뺄 수 있다. 한꺼번에 여러개를 넣거나 뺄 수 없다.
3. 하나의 입출력 방향을 가지고 있다.
만약 입출력 방향이 여러개라면 Stack자료구조로 볼 수 없다.
Stack 실사용 예제
- 브라우저에서 뒤로가기 앞으로가기가, Stack을 통해 다음과 같은 순서로 작동한다.
- 새로운 페이지 접속할 때, 현재 페이지를 Prev Stack에 보관한다.
- 뒤로 가기버튼을 눌러 이전 페이지로 돌아갈 때, 현재 페이지를 Next Stack에 보관, PRev Stack에 가장 나중에 보관된 페이지를 현재페이지로 가져온다.
- 앞으로 가기 버튼을 눌러 앞서 방문한 페이지로 이동을 원할때에는, Next Stack의 가장 마지막으로 보관된 페이지를 가져온다.
- 마지막으로 현재 페이지를 Prev Stack에 보관한다.
'발걸음 > 일지' 카테고리의 다른 글
[자료구조] Tree (0) | 2022.11.22 |
---|---|
[자료구조]Queue (0) | 2022.11.20 |
[자료구조] 재귀 함수 (0) | 2022.11.17 |
[JAVA] JVM (0) | 2022.11.15 |
[JAVA]Thread (0) | 2022.11.15 |