728x90
    
    
  반응형
    
    
    
  큐
- 줄을 서다라는 뜻으로 FIFO 형식이다.
 
큐의 ADT
- 연산
  
- boolean isFull()
 - boolean isEnpty()
 - void push(item Type item)
 
 - 상태
  
- int fromt
 - init rear : 최근에 푸쉬한 데이터의 위치를 기록합니다
 - itemType data(maxsize) : 큐의 데이터를 관리하는 배열, maxsize개의 데이터를 관리
 
 - 큐의 세부동작
 
- isFull() 연산으로 현재 큐가 가득 찼는지 확인
 
- 가득차지 않았으므로 rear+1한 다음 rear가 가리키는 위치에 푸쉬함
 

- 이 상태로 팝을 한다면?
 
- isEmpty() 연산을 내부에서 수행
 - 비어 있지 않다면 front +1 수행 -> 1번은 이미 진행한 상황이면 rear, front 모두 0으로 같아진다
 - 이 경우 isEmpty() 연산을 다시 하면 큐가 민것으로 처리되며 실제 배열의 데이터를 삭제하지 않고도 데이터를 삭제한 것처럼 관리 가능
 
- 큐의 끝까지 푸시 진행
 - 이제 큐가 가득 찼을 때 푸시하면 어떻게 될까?
 
rear가 maxsize-1일 때와 같다. isFull() 상태와 같다
front 이전 기준으로 큐의 사용할 수 있는 부분과 사용할 수 없는 부분으로 나뉘어져 있다
큐는 값이 들어간 순서대로 처리하는 경우에 사용된다.
- 명절 기차표 예매
 - 예매 사이트에 먼저 접손한 인원부터 예매를 할 수 이씨게 됨
 - BFS도 큐를 사용한다.
 
문제
728x90
    
    
  반응형
    
    
    
  '개발 이모저모 > 코딩 테스트 합격자 되기 스터디' 카테고리의 다른 글
| 코딩테스트 합격자 되기 - 7주차 (0) | 2024.02.17 | 
|---|---|
| 코딩 테스트 합격자 되기 - 5주차 (1) | 2024.02.03 | 
| 코딩 테스트 합격자 되기 - 3주차 (0) | 2024.01.27 | 
| 코딩 테스트 합격자 되기 - 2주차 (0) | 2024.01.13 | 
| 코딩 테스트 합격자 되기 - 1주차 (0) | 2024.01.06 |