📄 算法 4.7.txt
字号:
算法 4.7
void Yanghui ( int n ) {
// 打印输出杨辉三角的前 n ( n > 0 )行
SqQueue Q;
for( i=1; i<=n; i++) cout<<' ';
cout<<'1'<<endl; // 在中心位置输出杨辉三角最顶端的"1";
InitQueue _Sq (Q); // 设置最大容量为 n+2 的空队列
EnQueue_Sq (Q, 0 ); // 添加行界值
EnQueue_Sq ( Q, 1); EnQueue_Sq ( Q, 1 ); // 第一行的值入队列
k = 1;
while ( k < n ) { // 通过循环队列输出前 n-1 行的值
for( i=1; i<=n-k; i++) cout<<' ';// 输出n-k个空格以保持三角型
EnQueue_Sq ( Q, 0 ); // 行界值"0"入队列
do { // 输出第 k 行,计算第 k+1 行
Dequeue_Sq ( Q, s );
GetHead_Sq ( Q, e );
if (e) cout<<e<<' '; // 若e为非行界值0,则打印输出 e 的值并加一空格
else cout<<endl; // 否则回车换行,为下一行输出做准备
EnQueue(Q, s+e);
} while (e!=0);
k++;
}
DeQueue_Sq ( Q, e );
while (!QueueEmpty (Q) ) { // 单独处理第 n 行的值的输出
DeQueue_Sq ( Q, e );
cout<<e<<' ';
}
} // yanghui
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -