mirror of
https://github.com/krahets/hello-algo.git
synced 2025-11-01 20:12:07 +08:00
refactor: Replace poll with pop in Queue and Deque (#415)
This commit is contained in:
@ -60,7 +60,7 @@ class ArrayDeque:
|
||||
self.__nums[rear] = num
|
||||
self.__size += 1
|
||||
|
||||
def poll_first(self) -> int:
|
||||
def pop_first(self) -> int:
|
||||
""" 队首出队 """
|
||||
num = self.peek_first()
|
||||
# 队首指针向后移动一位
|
||||
@ -68,7 +68,7 @@ class ArrayDeque:
|
||||
self.__size -= 1
|
||||
return num
|
||||
|
||||
def poll_last(self) -> int:
|
||||
def pop_last(self) -> int:
|
||||
""" 队尾出队 """
|
||||
num = self.peek_last()
|
||||
self.__size -= 1
|
||||
@ -117,10 +117,10 @@ if __name__ == "__main__":
|
||||
print("元素 1 队首入队后 deque =", deque.to_array())
|
||||
|
||||
""" 元素出队 """
|
||||
poll_last: int = deque.poll_last()
|
||||
print("队尾出队元素 =", poll_last, ",队尾出队后 deque =", deque.to_array())
|
||||
poll_first: int = deque.poll_first()
|
||||
print("队首出队元素 =", poll_first, ",队首出队后 deque =", deque.to_array())
|
||||
pop_last: int = deque.pop_last()
|
||||
print("队尾出队元素 =", pop_last, ",队尾出队后 deque =", deque.to_array())
|
||||
pop_first: int = deque.pop_first()
|
||||
print("队首出队元素 =", pop_first, ",队首出队后 deque =", deque.to_array())
|
||||
|
||||
""" 获取双向队列的长度 """
|
||||
size: int = deque.size()
|
||||
|
||||
@ -38,7 +38,7 @@ class ArrayQueue:
|
||||
self.__nums[rear] = num
|
||||
self.__size += 1
|
||||
|
||||
def poll(self) -> int:
|
||||
def pop(self) -> int:
|
||||
""" 出队 """
|
||||
num: int = self.peek()
|
||||
# 队首指针向后移动一位,若越过尾部则返回到数组头部
|
||||
@ -79,8 +79,8 @@ if __name__ == "__main__":
|
||||
print("队首元素 peek =", peek)
|
||||
|
||||
""" 元素出队 """
|
||||
poll: int = queue.poll()
|
||||
print("出队元素 poll =", poll)
|
||||
pop: int = queue.pop()
|
||||
print("出队元素 pop =", pop)
|
||||
print("出队后 queue =", queue.to_list())
|
||||
|
||||
""" 获取队列的长度 """
|
||||
@ -94,5 +94,5 @@ if __name__ == "__main__":
|
||||
""" 测试环形数组 """
|
||||
for i in range(10):
|
||||
queue.push(i)
|
||||
queue.poll()
|
||||
queue.pop()
|
||||
print("第", i, "轮入队 + 出队后 queue = ", queue.to_list())
|
||||
|
||||
@ -60,7 +60,7 @@ class LinkedListDeque:
|
||||
""" 队尾入队 """
|
||||
self.push(num, False)
|
||||
|
||||
def poll(self, is_front: bool) -> int:
|
||||
def pop(self, is_front: bool) -> int:
|
||||
""" 出队操作 """
|
||||
# 若队列为空,直接返回 None
|
||||
if self.is_empty():
|
||||
@ -86,13 +86,13 @@ class LinkedListDeque:
|
||||
self.__size -= 1 # 更新队列长度
|
||||
return val
|
||||
|
||||
def poll_first(self) -> int:
|
||||
def pop_first(self) -> int:
|
||||
""" 队首出队 """
|
||||
return self.poll(True)
|
||||
return self.pop(True)
|
||||
|
||||
def poll_last(self) -> int:
|
||||
def pop_last(self) -> int:
|
||||
""" 队尾出队 """
|
||||
return self.poll(False)
|
||||
return self.pop(False)
|
||||
|
||||
def peek_first(self) -> int:
|
||||
""" 访问队首元素 """
|
||||
@ -134,10 +134,10 @@ if __name__ == "__main__":
|
||||
print("元素 1 队首入队后 deque =", deque.to_array())
|
||||
|
||||
""" 元素出队 """
|
||||
poll_last: int = deque.poll_last()
|
||||
print("队尾出队元素 =", poll_last, ",队尾出队后 deque =", deque.to_array())
|
||||
poll_first: int = deque.poll_first()
|
||||
print("队首出队元素 =", poll_first, ",队首出队后 deque =", deque.to_array())
|
||||
pop_last: int = deque.pop_last()
|
||||
print("队尾出队元素 =", pop_last, ",队尾出队后 deque =", deque.to_array())
|
||||
pop_first: int = deque.pop_first()
|
||||
print("队首出队元素 =", pop_first, ",队首出队后 deque =", deque.to_array())
|
||||
|
||||
""" 获取双向队列的长度 """
|
||||
size: int = deque.size()
|
||||
|
||||
@ -38,7 +38,7 @@ class LinkedListQueue:
|
||||
self.__rear = node
|
||||
self.__size += 1
|
||||
|
||||
def poll(self) -> int:
|
||||
def pop(self) -> int:
|
||||
""" 出队 """
|
||||
num = self.peek()
|
||||
# 删除头结点
|
||||
@ -81,8 +81,8 @@ if __name__ == "__main__":
|
||||
print("队首元素 front =", peek)
|
||||
|
||||
""" 元素出队 """
|
||||
pop_front: int = queue.poll()
|
||||
print("出队元素 poll =", pop_front)
|
||||
pop_front: int = queue.pop()
|
||||
print("出队元素 pop =", pop_front)
|
||||
print("出队后 queue =", queue.to_list())
|
||||
|
||||
""" 获取队列的长度 """
|
||||
|
||||
Reference in New Issue
Block a user