问题描述:输出杨辉三角的某一行
#include<iostream>
#include<queue>
using namespace std;
void YHSJ(int count)
{
queue<int>myqueue;
myqueue.push(1);
if (count == 1)
{
cout << myqueue.front();
return;
}
else {
myqueue.push(1);
while (count > 1)
{
myqueue.push(0); //在一行末尾添0
myqueue.push(1); //在下一行添1
while (myqueue.front() != 0) //循环条件:未扫描到0时(扫描到0说明该行结束)
{
int val;
val = myqueue.front();
myqueue.pop();
val = val + myqueue.front();
myqueue.push(val);
}
myqueue.pop(); //把行末的0弹出
count--;
}
while (!myqueue.empty())
{
cout << myqueue.front() << '\t';
myqueue.pop();
}
}
}
int main()
{
YHSJ(4);
}