什么是队列?c++代码演示
作者:野牛程序员:2023-02-20 18:41:17数据结构阅读 2464
队列是一种常用的数据结构,用于在计算机程序中存储和管理数据。队列的特点是先进先出 (FIFO):先添加到队列中的数据项也是先被取出。
以下是用C++语言编写队列程序的示例代码:
#include using namespace std; #define MAX_SIZE 10 // 定义队列的最大容量 class Queue { private: int front, rear; int arr[MAX_SIZE]; public: Queue() { // 构造函数 front = -1; rear = -1; } bool isFull() { // 判断队列是否已满 return (rear == MAX_SIZE - 1); } bool isEmpty() { // 判断队列是否为空 return (front == -1 && rear == -1); } void enqueue(int x) { // 入队操作 if (isFull()) { cout << "队列已满" << endl; return; } else if (isEmpty()) { front = 0; rear = 0; } else { rear++; } arr[rear] = x; } void dequeue() { // 出队操作 if (isEmpty()) { cout << "队列为空" << endl; return; } else if (front == rear) { front = -1; rear = -1; } else { front++; } } int getFront() { // 获取队首元素 if (isEmpty()) { cout << "队列为空" << endl; return -1; } return arr[front]; } void printQueue() { // 打印队列元素 if (isEmpty()) { cout << "队列为空" << endl; return; } for (int i = front; i <= rear; i++) { cout << arr[i] << " "; } cout << endl; } }; int main() { Queue q; q.enqueue(1); q.enqueue(2); q.enqueue(3); q.enqueue(4); q.enqueue(5); cout << "队列元素: "; q.printQueue(); q.dequeue(); q.dequeue(); cout << "队列元素: "; q.printQueue(); cout << "队首元素: " << q.getFront() << endl; return 0; }
在这个示例代码中,我们定义了一个队列类 Queue
,包含了队列的基本操作:入队 enqueue
、出队 dequeue
、获取队首元素 getFront
、判断队列是否已满 isFull
、判断队列是否为空 isEmpty
、打印队列元素 printQueue
。在主函数中,我们实例化一个队列对象 q
,并进行一些队列操作,最后打印队列元素和队首元素。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892