酷代码 AI
菜单
服务商

根据屏幕菜单的选择,进行队列的初始化、入队、出队、取队头元素、遍历队列、销毁队列等操作,并在入队、出队操作后,输出队列元素,出队和取队头元素操作后要输出队头元素的值;最后在屏幕菜单中选择0,即可结束程序的运行。编写c语言代码

以下是一个使用 C 语言实现队列操作的示例代码: ```c #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 100 typedef struct Queue { int front; int rear; int data[MAX_SIZE]; } Queue; // 初始化队列 void initQueue(Queue *q) { q->front = 0; q->rear = 0; } // 判断队列是否为空 int isEmpty(Queue *q) { return q->front == q->rear; } // 判断队列是否已满 int isFull(Queue *q) { return (q->rear + 1) % MAX_SIZE == q->front; } // 入队 void enQueue(Queue *q, int element) { if (isFull(q)) { printf("Queue is full!\n"); return; } q->data[q->rear] = element; q->rear = (q->rear + 1) % MAX_SIZE; printf("Enqueued element: %d\n", element); } // 出队 int deQueue(Queue *q) { if (isEmpty(q)) { printf("Queue is empty!\n"); return -1; } int element = q->data[q->front]; q->front = (q->front + 1) % MAX_SIZE; printf("Dequeued element: %d\n", element); return element; } // 取队头元素 int getFront(Queue *q) { if (isEmpty(q)) { printf("Queue is empty!\n"); return -1; } int element = q->data[q->front]; printf("Front element: %d\n", element); return element; } // 遍历队列 void traverseQueue(Queue *q) { if (isEmpty(q)) { printf("Queue is empty!\n"); return; } int i = q->front; printf("Queue elements: "); while (i!= q->rear) { printf("%d ", q->data[i]); i = (i + 1) % MAX_SIZE; } printf("\n"); } // 销毁队列 void destroyQueue(Queue *q) { q->front = 0; q->rear = 0; } int main() { Queue q; initQueue(&q); int choice, element; printf("Queue Operations:\n"); printf("1. Initialize Queue\n"); printf("2. Enqueue\n"); printf("3. Dequeue\n"); printf("4. Get Front Element\n"); printf("5. Traverse Queue\n"); printf("6. Destroy Queue\n"); printf("0. Exit\n"); do { printf("Enter your choice: "); scanf("%d", &choice); switch (choice) { case 1: initQueue(&q); break; case 2: printf("Enter element to enqueue: "); scanf("%d", &element); enQueue(&q, element); break; case 3: deQueue(&q); break; case 4: getFront(&q); break; case 5: traverseQueue(&q); break; case 6: destroyQueue(&q); break; case 0: printf("Exiting...\n"); break; default: printf("Invalid choice!\n"); } } while (choice!= 0); return 0; } ``` 这段代码实现了一个简单的队列操作程序,包括初始化、入队、出队、取队头元素、遍历队列和销毁队列等功能,并根据用户的选择执行相应的操作。 [2024-10-20 17:08:19 | AI写代码神器 | 934点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]