队列入队的代码怎么写
时间: 2024-06-15 10:03:40 浏览: 126
队列是一种常用的数据结构,入队操作是向队列尾部添加元素的过程。下面是一个简单的队列入队的代码示例:
```python
class Queue:
def __init__(self):
self.queue = []
def enqueue(self, item):
self.queue.append(item)
def display(self):
print(self.queue)
# 创建一个队列对象
queue = Queue()
# 入队操作
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
# 打印队列元素
queue.display()
```
以上代码中,我们定义了一个`Queue`类,其中`__init__`方法用于初始化队列,`enqueue`方法用于将元素添加到队列尾部,`display`方法用于打印队列中的元素。通过创建一个`Queue`对象,然后调用`enqueue`方法可以实现队列的入队操作。
相关问题
循环队列的入队操作代码
循环队列是一种特殊的线性表,其特点是最后一个元素的下一个位置会指向第一个元素,形成一个循环。这样可以避免数组越界的问题,并能更有效地利用内存空间。以下是使用Python实现循环队列的基本入队(enqueue)操作的代码:
```python
class CircularQueue:
def __init__(self, capacity):
self.queue = [None] * capacity
self.front = -1
self.rear = -1
# 入队操作
def enqueue(self, item):
if self.is_full(): # 队列已满
print("Queue is full.")
return
if self.is_empty(): # 队列为空
self.front = 0
self.rear = 0
self.rear = (self.rear + 1) % len(self.queue) # 更新rear指针,处理循环
self.queue[self.rear] = item # 插入新元素
# 使用示例
cq = CircularQueue(5)
cq.enqueue(1)
cq.enqueue(2)
```
在这个例子中,`enqueue`函数首先检查队列是否已满,如果满则不进行操作并返回提示。然后,它判断队列是否为空,如果空则设置front和rear指针为0。接着,通过取模运算更新rear指针,使其保持在有效范围内,最后将新元素插入到相应的位置。
循环队列的入队c语言代码
循环队列是一种特殊的线性表,它通过将队尾指针(rear)指向第一个元素的位置来实现“队满”的效果,当添加新元素时,会自动替换掉队首元素。以下是C语言中创建并实现循环队列入队操作的基本代码:
```c
#include <stdio.h>
#define MAX_SIZE 50
typedef struct {
int data[MAX_SIZE];
int rear; // 队尾指针
int front; // 队首指针,初始值为-1
} Queue;
// 初始化循环队列
void initialize(Queue* q) {
q->front = -1;
}
// 入队操作(如果队列未满)
bool enqueue(Queue* q, int value) {
if ((q->front == -1 && q->rear == 0) || (q->rear + 1) % MAX_SIZE != q->front) { // 判断队列是否已满
q->rear = (q->rear + 1) % MAX_SIZE; // 后进先出原则,队尾指针加一并取模
q->data[q->rear] = value;
return true;
}
else {
printf("Queue is full.\n");
return false;
}
}
int main() {
Queue q;
initialize(&q);
// 示例:尝试入队
enqueue(&q, 1);
enqueue(&q, 2);
enqueue(&q, 3); // 这里会正常入队,因为队列大小为50,当前只占用了3个位置
return 0;
}
```
在这个例子中,`enqueue`函数首先检查队列是否已满,然后更新队尾指针,并将新元素存入数组。如果队列满了,则返回false表示无法入队。
阅读全文