使用队列打印杨辉三角
时间: 2023-12-24 15:24:20 浏览: 95
使用队列打印杨辉三角的具体过程如下:
1.首先将第一行的元素 1 入队列。
2.然后从队列中取出元素 1 并打印,再将队首元素 1 出队列。
3.接着将队首元素 1 和队首元素 0 相加得到下一行的第一个元素 1,并将其入队列。
4.然后从队列中取出元素 1 并打印,再将队首元素 1 出队列。
5.接着将队首元素 1 和队首元素 1 相加得到下一行的第二个元素 2,并将其入队列。
6.然后从队列中取出元素 1 并打印,再将队首元素 1 出队列。
7.接着将队首元素 1 和队首元素 2 相加得到下一行的第三个元素 3,并将其入队列。
8.以此类推,直到打印出所需的行数为止。
9.最后循环外面出队列打印最后一个一个元素 1 ,并且存储下一行最后一个元素数字 1。
相关问题
使用队列打印杨辉三角形
使用队列打印杨辉三角形的算法如下:
1. 定义一个队列,将第一行的元素 1 入队列。
2. 循环遍历每一行,每次出队列并打印出队列元素,再将出队后队首的元素值与队列首元素相加得到下一行所求的值,将该值入队列。
3. 循环外面出队列打印最后一个元素 1,并且存储下一行最后一个元素数字 1。
4. 重复步骤2和3,直到打印出指定行数的杨辉三角形。
队列打印杨辉三角c++
队列打印杨辉三角是一种常见的算法问题,可以使用队列来实现。下面是使用C++语言实现队列打印杨辉三角的代码:
```cpp
#include <iostream>
#include <queue>
void printYanghuiTriangle(int n) {
std::queue<int> q;
q.push(1); // 第一行的元素1入队
for (int i = 0; i < n; i++) {
int prev = 0; // 上一行的元素初始为0
// 打印空格
for (int j = 0; j < n - i - 1; j++) {
std::cout << " ";
}
// 打印当前行的元素
for (int j = 0; j <= i; j++) {
int curr = q.front();
q.pop();
std::cout << curr << " ";
// 计算下一行的元素并入队
int next = prev + curr;
q.push(next);
prev = curr;
}
std::cout << std::endl;
}
}
int main() {
int n;
std::cout << "请输入要打印的杨辉三角的行数:";
std::cin >> n;
printYanghuiTriangle(n);
return 0;
}
```
运行以上代码,输入要打印的杨辉三角的行数,即可输出相应行数的杨辉三角。
阅读全文
相关推荐














