用in和out分别控制入队和出队操作,通过变量确定队列的存储空间个数、入队和出队操作次数;
时间: 2024-05-06 09:16:53 浏览: 13
以下是使用Python实现的简单队列代码,使用in和out分别控制入队和出队操作:
```python
class Queue:
def __init__(self, size):
self.size = size
self.queue = [None] * size
self.in_idx = 0
self.out_idx = 0
def enqueue(self, val):
if (self.in_idx - self.out_idx) < self.size:
self.queue[self.in_idx % self.size] = val
self.in_idx += 1
else:
raise Exception("Queue is full")
def dequeue(self):
if self.in_idx > self.out_idx:
val = self.queue[self.out_idx % self.size]
self.out_idx += 1
return val
else:
raise Exception("Queue is empty")
```
在这个实现中,我们使用了一个固定大小的数组来存储队列,同时使用两个指针in_idx和out_idx来控制入队和出队操作。当队列已满时,插入操作将引发异常。当队列为空时,弹出操作也会引发异常。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)