자료구조 큐에 관한 내용중 궁금한점이 있습니다!


public static void enQueue(int data){

if(isFull()){
    throw new QueueOverflowException("Queue Overflow");
   }else{
        rear = (rear+1)%capacity;
        array[rear] = data;
        if(front == -1) front = rear;
    }
   }

}

만약 array 에 [ 1, 2, 3, 4, 5] 가 있다하고 1이 rear 5가 front라 하면

rear = (rear +1)%capacity 대입시 6%5 = 1 이 되서 다시 rear가 1로 초기화 되는 과정이라고 생각했는데 queue가 이렇게 작동되는것인지 궁금합니다 !


조회수 65


20180214banner blockchain

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close