class LinkQueue: #链队类 def __init__(self): #构造方法 self.front=None #队头指针 self.rear=None #队尾指针 def empty(self): #判断队是否为空 return self.front==None def push(self,e): #元素e进队 def pop(self): #出队操作 def gethead(self): #取队顶元素操作
时间: 2024-01-14 12:02:57 浏览: 83
好的,请看下面补全的代码:
```python
class LinkQueue: # 链队类
def __init__(self): # 构造方法
self.front = None # 队头指针
self.rear = None # 队尾指针
def empty(self): # 判断队是否为空
return self.front == None
def push(self, e): # 元素e进队
new_node = Node(e) # 创建新节点
if self.empty(): # 如果队列为空,则新节点既是队头也是队尾
self.front = new_node
self.rear = new_node
else:
self.rear.next = new_node # 将新节点链到队尾
self.rear = new_node # 更新队尾指针
def pop(self): # 出队操作
if self.empty(): # 如果队列为空,返回None
return None
node = self.front # 取出队头指针指向的节点
self.front = node.next # 更新队头指针
if self.front == None: # 如果删除的是最后一个节点,更新队尾指针
self.rear = None
return node.data # 返回出队节点的数据
def gethead(self): # 取队顶元素操作
if self.empty(): # 如果队列为空,返回None
return None
return self.front.data # 返回队头指针指向的节点的数据
```
以上是完整的 LinkQueue 类代码,包含了 push、pop、gethead 方法的实现。
阅读全文