算法 4.7
void Yanghui ( int n ) {
// 打印输出杨辉三角的前 n ( n > 0 )行
SqQueue Q;
for( i=1; i cout 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 EnQueue_Sq ( Q, 0 ); // 行界值"0"入队列
do { // 输出第 k 行,计算第 k+1 行
Dequeue_Sq ( Q, s );
GetHead_Sq ( Q, e );
if (e) cout else cout EnQueue(Q, s+e);
} while (e!=0);
k++;
}
DeQueue_Sq ( Q, e );
while (!QueueEmpty (Q) ) { // 单独处理第 n 行的值的输出
DeQueue_Sq ( Q, e );
cout }
} // yanghui