队列打印杨辉三角c++
时间: 2024-04-15 14:22:18 浏览: 144
队列打印杨辉三角是一种常见的算法问题,可以使用队列来实现。下面是使用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;
}
```
运行以上代码,输入要打印的杨辉三角的行数,即可输出相应行数的杨辉三角。
阅读全文