唐国民版栈和队列精编.ppt

分析第 i 行元素与第 i+1行元素的关系如图所示 : 在i=2时,队列的头指针指向0,尾指针指向1的下一位,我们看如何 由第二行得到第三行的。①第三行的0入队②队头元素0出队并送入s中③取队头元素1并送入t中④s+t的值1入队。这时队列的队头指针指向1,队尾指针指向第三行的第一个3的位置。重复②③④三步就得到第三行;类推,我们由第三行又得到第四行;…… front rear 杨辉三角形元素入队顺序 0 0 0 0 0 0 假设n=4,i=3,则输出第3行元素并求解第4行元素值的循环执行过程中队列的变化状态如图所示 : void YangHui( int n )/*打印杨辉三角形的前n行*/ { SeqQueue *q; int i, j,s,t; for(i=1;i=n;i++) printf( ); printf(1\n); /*在中心位置输出杨辉三角最顶端的1*/ q=InitQueue(); /*设置容量为n+2的空队列*/ EnQueue(q,0); /*添加行分隔符,即0入队*/ EnQueue(q,1);EnQueue(q,1); /*第一行的值入队*/ 1、出队并保存出队元素   2、取出front所指元素并保存 3、计算前两步得到的元素值之和并入队 重复这三步。(当由第i行求得第i+1行时,0先入队……) 上图的操作过程是:

文档评论(0)

1亿VIP精品文档

相关文档