利用C++,不用类函数,二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行的程序。
时间: 2023-10-28 17:06:17 浏览: 96
利用队列打印二项展开式系数的算法-数据结构 栈与队列
以下是利用队列打印杨辉三角形的前n行的C++程序:
```c++
#include <iostream>
#include <queue>
using namespace std;
void printPascalTriangle(int n) {
queue<int> q;
q.push(1);
for (int i = 1; i <= n; i++) {
int prev = 0;
for (int j = 0; j < i; j++) {
int curr = q.front();
q.pop();
cout << curr << " ";
int next = prev + curr;
prev = curr;
q.push(next);
}
q.push(1);
cout << endl;
}
}
int main() {
int n;
cout << "Enter the number of rows: ";
cin >> n;
printPascalTriangle(n);
return 0;
}
```
在这个程序中,我们使用了一个队列来存储杨辉三角形中的每一行。我们首先将1压入队列中,然后对于每一行,我们从队列中取出前面的数字,打印它们,并计算出下一个数字。我们将下一个数字压入队列中,并在每一行结束时将1压入队列中,以便为下一行做准备。
阅读全文