用队列实现逐行处理(杨辉三角)

这个方法既节约了空间又节约了时间:

#include"iostream"
#include"queue"
#include"string.h"
#include"stdio.h"
#include"cmath"
using namespace std;
int  main()
{
    int i,j,s,t;
    queue<int>q;
    q.push(1);
    for(i=1;i<=10;i++)
    {
        s=0;q.push(0);
        for(j=0;j<i+1;j++)
        {
            t=q.front();
            q.pop();
            if(t)
            cout<<t<<' ';
            q.push(s+t);//输出上一行的同时将下一行进队列
            s=t;
        }
        cout<<endl;
    }
    return 0;
}
View Code

 

posted @ 2015-04-08 20:54  Run_For_Love  阅读(162)  评论(0编辑  收藏  举报