C++의 대기열 배열

Muhammad Adil 2024년2월16일
  1. C++의 대기열 배열
  2. C++의 큐 데이터 구조에 대한 기본 작업
  3. C++에서 가변 크기로 큐 배열을 구현하는 단계
C++의 대기열 배열

이 섹션에서는 다양한 크기의 큐의 C++ 전역 배열에 대해 설명합니다.

C++의 대기열 배열

큐는 머리라고 하는 한쪽 끝에 새 요소를 삽입하고 꼬리라고 하는 다른 쪽 끝에서 요소를 추출할 수 있는 선형 데이터 구조입니다. 대기열은 종종 선입선출(FIFO) 대기열 또는 우선 순위 대기열을 구현하는 데 사용됩니다.

큐의 C++ 전역 배열은 임의 개수의 큐를 저장하는 데 사용됩니다. 전역 배열이 생성될 때 각 대기열의 크기를 설정할 수 있습니다.

이를 통해 크기와 용량이 다른 어레이를 생성할 수 있어 다양한 유형의 데이터를 저장하는 데 사용할 수 있습니다.

이 데이터 구조는 많은 항목이 있는 데이터를 저장하는 데 유용하지만 이러한 항목이 동시에 모두 필요한 것은 아닙니다. 예를 들어, 이름 목록을 저장하고 싶지만 가끔 이름을 조회해야 하는 경우 이 위치가 목록에 적합합니다.

C++의 큐 데이터 구조에 대한 기본 작업

대기열 데이터 구조는 다음 작업을 지원합니다.

  1. EnQueue: 대기열에 새 항목을 삽입합니다. 항목이 대기열에 추가되면 항상 끝에 추가됩니다.
  2. DeQueue: 이 방법은 대기열에서 항목을 제거합니다. 항목은 항상 대기열의 맨 앞에서 철회되거나 대기열에서 제외됩니다.
  3. isEmpty: 대기열이 비어 있는지 여부를 결정합니다.
  4. isFull: 큐가 가득 찼는지 여부를 결정합니다.

C++에서 가변 크기로 큐 배열을 구현하는 단계

  • 보유할 수 있는 최대 요소 수를 지정하여 대기열 크기를 정의합니다.
  • 대기열 요소를 저장할 배열을 만듭니다.
  • 미리 정의된 수의 빈 슬롯을 보유하도록 어레이를 초기화합니다.
  • 값 및 인덱스와 함께 Enqueue()를 호출하여 배열 끝에 요소를 추가합니다.
  • 값 및 인덱스와 함께 Dequeue()를 호출하여 배열의 앞쪽에서 요소를 제거합니다.

예:

#include <bits/stdc++.h>
using namespace std;
struct Queue {
  int start, stop, eon;
  int* queue;
  Queue(int y) {
    start = stop = 0;
    eon = y;
    queue = new int;
  }
  void queueEnqueue(int ghm) {
    if (eon == stop) {
      cout << endl << "This Queue is not empty" << endl;
      return;
    } else {
      queue[stop] = ghm;
      stop++;
    }
    return;
  }
  void demoSam() {
    int x;

    for (x = start; x < stop; x++) {
      cout << queue[x];
    }
    return;
  }
};
int main(void) {
  Queue q(3);
  q.demoSam();
  q.queueEnqueue(6);
  q.queueEnqueue(3);
  q.queueEnqueue(12);
  q.demoSam();
  q.queueEnqueue(13);
  q.demoSam();
  return 0;
}

위에서 언급한 코드의 작동을 확인하려면 여기를 클릭하십시오.

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

관련 문장 - C++ Queue