본문 바로가기

bootcamp/Java

1204 스택(stack)/큐(queue)/재귀

스택이란 인터넷 브라우저가 간 순서를 저장하는 것
  데이처를 차곡차곡 저장해두고 있다가 가장 먼저 들어간 
데이터가 마지막으로  삭제 됨
  last in-first out/fist in-last out 후입선출

 

스택의 구현 배열을 이용해서 숫자를 여러개 저장할 수 있게 변수 생성
  배열에 직접 접근해서 숫자를 저장할 수 있으면 안되기 
때문에 접근 제어자로 제어
  숫자를 어디까지 저장했는지 가리키는 변수 top 생성
생성자 크기를 전달받아서 해당 크기만큼 정수를 저장할 수 있는 
배열 생성
  top에 -1 저장

 

스택의 연산  
isEmpty 스택에 값이 모두 비어있는지 학인
  top이 -1이면 true를 반환, 
그렇지 않으면 false를 반환
 isFull 스택에 값이 모두 저장되어 있는지 확인
  top이 배열의 크기보다 1작으면 true 반환
그렇지 않으면 false를 반환
peek 제일 마지막에 저장된 값 확인
  제일 마지막에 저장된 값을 반환
push 데이터를 저장하는 연산
  저장할 데이터를 전달받고
스택이 가득차 있지 않으면 
top을 1증가하고 해당 인덱스 번호의 배열에 데이터 저장
pop 데이터를 삭제하는 연산
  스택이 비어있지 않으면
top 인덱스 번호의 배열에 값을 꺼내고
top 인덱스 번호의 배열에 값을 비워주고
top을 1 감소
 display 스택에 저장된 모든 데이터를 출력하는 기능

 

큐 Queue 선입선출('FIFO') 방식으로
가장 먼저 들어온 데이터가 가장 먼저 나감
  데이터를 삽입하는 연산과 삭제하는 연산이 양쪽에서 진행됨
큐의 구현 배열을 이용해서 숫자를 여러개 저장할 수 있게 변수 생성
  배열에 직접 접근해서 숫자를 저장할 수 있으면 
안되기 때문에 접근 제어자로 제어
  맨 앞에 데이터가 어디에 저장된건지 가리킬 front 변수 생성
  다음 데이터가 어디에 저장될건지 가리킬 rear 변수 생성
  현재 저장된 데이터의 수를 저장할 num 변수 생성
생성자 크기를 전달받아서 해당 크기만큼 정수를 저장할 수 있는 
배열 생성
  front 및 rear는 0 을 저장
   
큐의 연산  
isEmpty 큐에 값이 모두 비어있는지 학인
  num가 0이면 true 반환
그렇지 않으면 false 반환
isFull 큐에 값이 모두 저장되어 있는지 확인
  배열의 크기가 num랑 같으면 true 반환
그렇지 않으면 false 반환
enQueue 데이터를 저장하는 연산
  저장할 숫자를 하나 전달받고
큐가 가득 찼으면 가득찼다고 출력
그렇지 않으면 현재 rear의 위치의 배열에 전달받은 숫자를 
저장하고 rear 1증가 후 num 1 증가
deQueue 데이터를 삭제하는 연산
  큐가 비어있으면 비어있음 이라고 출력
그렇지 않으면 현재 front의 위치의 배열의 값을 꺼내고 front 1증가 후 num 1 감소
display 큐에 저장된 모든 데이터를 출력하는 기능
재귀 메소드가 자기 자신을 실행하는 형태
재귀 활용   최대공약수(유클리드 호제법)
  하노이 탑
   
   

 

'bootcamp > Java' 카테고리의 다른 글

1206 트리  (0) 2023.12.22
1205 리스트  (0) 2023.12.22
1201 보안  (0) 2023.12.22
1129 jdbc/jsp서블릿  (0) 2023.12.22
1129 소켓통신..등등..  (0) 2023.12.17