선형 큐 예제

큐에서의 작업: 주로 다음 네 가지 기본 작업이 큐에서 수행됩니다. 스택에서와 마찬가지로 배열, 링크된 목록, 포인터 및 구조를 사용하여 큐를 구현할 수도 있습니다. 단순화를 위해 1차원 배열을 사용하여 큐를 구현합니다. 3 단계 – 큐가 비어 있지 않은 경우, 전면이 가리키는 데이터에 액세스 할 수 있습니다. 단계 3 – 큐가 가득하지 않은 경우, 다음 빈 공간을 가리키는 증분 후면 포인터. 이제 큐에서 서로 다른 이유로 두 끝에 모두 액세스한다는 것을 이해합니다. 아래 주어진 다음 다이어그램은 데이터 구조로 큐 표현을 설명하려고 합니다 – 앞값이 MIN 또는 0보다 적으면 큐가 아직 초기화되지 않았기 때문에 비어 있음을 알려줍니다. 순환 큐는 첫 번째 요소가 마지막 요소 다음에 오는 포인터를 통해 두 끝을 연결합니다. 또한 삽입 및 삭제할 요소를 추적할 수 있도록 몇 가지 추가 논리를 구현하여 전면 및 후면을 추적합니다. 이렇게 하면 순환 큐는 큐가 실제로 가득 차기 전까지는 오버플로 조건을 생성하지 않습니다. 아래에 제공된 알고리즘은 큐의 요소 삭제를 보여 줍니다: 다음 단계는 큐에 데이터를 큐에 큐(삽입)하기 위해 취해야 합니다 – 스택처럼, Queue는 작업이 수행되는 특정 순서를 따르는 선형 구조입니다. 순서는 선착순(FIFO)입니다. 큐의 좋은 예는 먼저 제공된 소비자가 먼저 제공되는 리소스에 대한 소비자 큐입니다.

스택과 큐의 차이는 제거에 있습니다. 스택에서 가장 최근에 추가된 항목을 제거합니다. 큐에서 가장 최근에 추가된 항목을 제거합니다. 순환 큐는 선형 큐의 제한을 효과적으로 극복하는 선형 큐의 변형입니다. 순환 큐에서 마지막 요소가 점유되고 공간을 사용할 수 있는 경우 새 요소가 큐의 첫 번째 위치에 추가됩니다. 선형 큐에 관해서 삽입은 후방 단부에서만 수행하고 프론트 엔드에서 삭제할 수 있습니다.

Share on Google+Share on FacebookTweet about this on Twitter
error: Садржај је заштићен !!