C++의 대기열 배열
이 섹션에서는 다양한 크기의 큐의 C++ 전역 배열에 대해 설명합니다.
C++의 대기열 배열
큐는 머리라고 하는 한쪽 끝에 새 요소를 삽입하고 꼬리라고 하는 다른 쪽 끝에서 요소를 추출할 수 있는 선형 데이터 구조입니다. 대기열은 종종 선입선출(FIFO) 대기열 또는 우선 순위 대기열을 구현하는 데 사용됩니다.
큐의 C++ 전역 배열은 임의 개수의 큐를 저장하는 데 사용됩니다. 전역 배열이 생성될 때 각 대기열의 크기를 설정할 수 있습니다.
이를 통해 크기와 용량이 다른 어레이를 생성할 수 있어 다양한 유형의 데이터를 저장하는 데 사용할 수 있습니다.
이 데이터 구조는 많은 항목이 있는 데이터를 저장하는 데 유용하지만 이러한 항목이 동시에 모두 필요한 것은 아닙니다. 예를 들어, 이름 목록을 저장하고 싶지만 가끔 이름을 조회해야 하는 경우 이 위치가 목록에 적합합니다.
C++의 큐 데이터 구조에 대한 기본 작업
대기열 데이터 구조는 다음 작업을 지원합니다.
EnQueue
: 대기열에 새 항목을 삽입합니다. 항목이 대기열에 추가되면 항상 끝에 추가됩니다.DeQueue
: 이 방법은 대기열에서 항목을 제거합니다. 항목은 항상 대기열의 맨 앞에서 철회되거나 대기열에서 제외됩니다.isEmpty
: 대기열이 비어 있는지 여부를 결정합니다.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 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