단일 차원 배열을 사용하여 큐를 구현하는 동안 MAXSIZE에 도달할 후면 포인터를 확인하여 큐가 가득 찼는지 확인합니다. 순환 링크 된 목록에서 큐를 유지 하는 경우 알고리즘이 다를 수 있습니다. isfull () 기능의 알고리즘 – 큐에서 데이터에 액세스하는 것은 두 작업의 과정입니다 – 전면이 가리키는 데이터에 액세스하고 액세스 후 데이터를 제거합니다. 다음 단계는 큐 제거 작업을 수행하기 위해 수행됩니다 – 처음에는 배열의 첫 번째 인덱스에서 큐 포인트의 머리(FRONT)와 꼬리(REAR)가 0에서 배열 인덱스를 시작합니다. 큐에 요소를 추가하면 꼬리가 계속 앞으로 이동하면서 항상 다음 요소가 삽입될 위치를 가리키고 머리는 첫 번째 인덱스에 유지됩니다. 참고 : 빈 대기열의 경우, 전면은 후방 앞서 한 위치입니다 : 전면 = 후면 + 1; 큐에 요소를 추가하는 프로세스를 Enqueue라고 하며 큐에서 요소를 제거하는 프로세스를 Dequeue라고 합니다. 스택에서와 마찬가지로 배열, 링크된 목록, 포인터 및 구조를 사용하여 큐를 구현할 수도 있습니다. 단순화를 위해 1차원 배열을 사용하여 큐를 구현합니다. 큐는 배열, 스택 또는 링크된 목록을 사용하여 구현할 수 있습니다. 큐를 구현하는 가장 쉬운 방법은 Array를 사용하는 것입니다. 4 단계 – 후면이 가리키는 큐 위치에 데이터 요소를 추가합니다.

큐 작업에는 큐를 초기화하거나 정의하고, 큐를 활용한 다음 메모리에서 완전히 지워야 합니다. 여기에서 우리는 큐와 관련된 기본 작업을 이해하려고한다 – 선형 큐는 일부 작업을 수행하는 심각한 단점으로 고통, 우리는 큐에 공간이있는 경우에도, 큐에 항목을 삽입 할 수 없습니다. 5개의 요소로 구성된 큐가 있고 5개의 항목을 큐에 삽입한 다음 일부 항목을 삭제한 다음 큐에 공백이 있지만 해당 조건에서는 큐에 항목을 삽입할 수 없습니다. 순환 큐는 선형 큐의 제한을 효과적으로 극복하는 선형 큐의 변형입니다. 순환 큐에서 마지막 요소가 점유되고 공간을 사용할 수 있는 경우 새 요소가 큐의 첫 번째 위치에 추가됩니다. 선형 큐에 관해서 삽입은 후방 단부에서만 수행하고 프론트 엔드에서 삭제할 수 있습니다. 대기열에서 일련의 연속삭제를 수행한 후 전체 큐에서 언더플로우 조건(후면 = 최대 – 1)이 여전히 존재하기 때문에 사용 가능한 공간이 있더라도 새로운 요소를 더 추가할 수 없는 특정 상황이 발생한다. 단계 3 – 큐가 가득하지 않은 경우, 다음 빈 공간을 가리키는 증분 후면 포인터. 위에서 언급한 큐 작업을 효율적으로 수행하려면 몇 가지 함수가 더 필요합니다. 이들은 – 단계 3 – 큐가 비어 있지 않은 경우, 전면이 가리키는 데이터에 액세스 할 수 있습니다.

큐는 “후면”이라고 불리는 한쪽 끝에서만 항목을 추가할 수 있는 정렬된 목록이며 항목은 “전면”이라고 하는 다른 쪽 끝에서만 제거될 수 있습니다. 순환 큐 데이터 및 명령은 마지막 요소가 첫 번째 요소와 연결되는 원형 순서로 구성됩니다. 선형 큐에는 순환 큐에 없는 몇 가지 제한 사항이 있습니다. 순환 큐에서 새 요소가 큐의 첫 번째 위치에 추가됩니다. 선형 큐에서 삽입은 하나의 후면 끝 및 삭제 폼 프런트 엔드에서만 수행됩니다. 큐가 가득 차면 새 요소를 추가할 수 없는 상황이 발생합니다. 순환 큐에서 두 끝은 마지막 요소를 삽입한 후 첫 번째 요소가 들어오는 포인터를 통해 연결됩니다.