利用队列输出杨辉三角形
时间: 2024-10-29 21:18:47 浏览: 42
循环队列的基本操作以及杨辉三角形输出
杨辉三角是一个经典的组合数学图形,其每个数字是上一行所有数字之和。我们可以利用队列的数据结构来动态生成它,因为队列的特性是先进先出(FIFO),这非常适合逐层添加元素。
以下是使用Python的简单实现,使用列表模拟堆栈,因为我们可以在需要的时候轻松地添加和移除元素:
```python
def print_pascal_triangle(n):
triangle = [[1]] # 杨辉三角的第一行
for i in range(2, n+1): # 从第二行开始
new_row = [1] # 新行的第一个数总是1
for j in range(1, i): # 根据当前行数计算剩余位置的数
new_row.append(triangle[i-1][j-1] + triangle[i-1][j]) # 上下两个数相加
new_row.append(1) # 新行的最后一个数也是1
triangle.append(new_row) # 将新行添加到队列
# 输出杨辉三角
for row in triangle:
print(' '.join(str(num) for num in row))
# 示例
print_pascal_triangle(5)
```
当你运行这个函数,会打印前5行的杨辉三角。每输出一行,队列就更新一次,以表示下一行的生成过程。
阅读全文