c语言队列入队
更新时间:2023-09-24队列入队的C语言实现
队列是一种常用的数据结构,它遵循先进先出(FIFO)的原则。入队是指将新元素添加到队列的末尾。在C语言中,可以使用数组来实现队列。下面将为您展示一个简单的C语言代码示例,实现队列的入队操作。
#include#define SIZE 5 int queue[SIZE]; int front = -1; int rear = -1; void enqueue(int item) { if (rear == SIZE - 1) { printf("队列已满,无法入队。\n"); } else { if (front == -1) { front = 0; } rear++; queue[rear] = item; printf("%d 已成功入队。\n", item); } }
在这段代码中,我们定义了一个固定大小为SIZE的队列数组,并初始化了队列的首尾指针(front和rear)为-1。enqueue函数用于将新的元素item入队。如果rear指针达到了队列的最大长度SIZE-1,表示队列已满,无法再进行入队操作。否则,我们将front指针初始化为0(表示队列非空),然后将rear指针向后移动一位,将新元素item存入队列的末尾。同时,打印出入队成功的信息。
使用示例:
int main() { enqueue(10); enqueue(20); enqueue(30); enqueue(40); enqueue(50); enqueue(60); // 增加一个元素,将触发队列已满提示 return 0; }
运行上述代码示例,输出结果如下:
10 已成功入队。 20 已成功入队。 30 已成功入队。 40 已成功入队。 50 已成功入队。 队列已满,无法入队。
代码解析
上述代码非常简单,主要包含了一个enqueue函数和一个main函数。enqueue函数通过判断rear指针的位置来确定队列是否已满。如果队列未满,将新元素存入队列,并更新rear指针的位置;如果队列已满,则输出相应的提示信息。示例中的main函数演示了入队操作的使用方法。
从数组的角度来看,队列的第一个元素被存储在数组的第一个位置,而rear指针则指向数组的最后一个元素。当我们入队一个新元素时,rear指针向后移动一位,并将新元素存入数组中rear指针所指向的位置。入队操作的时间复杂度为O(1)。
总结
队列的入队操作是一种常见而重要的操作,用于将新元素添加到队列的末尾。通过使用C语言的数组,我们可以灵活地实现队列的入队操作,并且可以根据具体需求进行相应的扩展和优化。
本文中的示例代码展示了一个基本的C语言实现,您可以在此基础上进行进一步的开发和改进。希望本文对您理解队列的入队操作有所帮助。