c++ queue存二维数组
时间: 2023-10-18 07:22:56 浏览: 323
队列可以存储二维数组,只需要将二维数组的每一个元素作为队列中的一个元素即可。在使用队列时,需要注意队列中存储的元素类型为数组,而非单个元素。以下是一个C语言实现的二维数组存储队列的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 1000
int queue[MAX_SIZE][2];
int front = 0, rear = 0;
void enqueue(int arr[2]) {
if (rear == MAX_SIZE) {
printf("Queue is full.\n");
return;
}
queue[rear][0] = arr[0];
queue[rear][1] = arr[1];
rear++;
}
int* dequeue() {
if (front == rear) {
printf("Queue is empty.\n");
return NULL;
}
int* arr = (int*)malloc(2 * sizeof(int));
arr[0] = queue[front][0];
arr[1] = queue[front][1];
front++;
return arr;
}
int main() {
int arr1[2] = {1, 2};
int arr2[2] = {3, 4};
int arr3[2] = {5, 6};
enqueue(arr1);
enqueue(arr2);
enqueue(arr3);
int* arr = dequeue();
printf("%d %d\n", arr[0], arr[1]);
arr = dequeue();
printf("%d %d\n", arr[0], arr[1]);
arr = dequeue();
printf("%d %d\n", arr[0], arr[1]);
arr = dequeue(); // 队列为空,输出 Queue is empty.
return 0;
}
```
以上代码实现了一个简单的二维数组存储队列,可以将任意大小的二维数组作为队列中的元素。需要注意的是,在进行入队和出队操作时,都需要将二维数组的每一个元素分别存储到队列中。
阅读全文
相关推荐



















