杨辉三角之c++队列实现

#include<stdlib.h> #include<stdio.h> #include<time.h> #include<iostream> #include<string> #include<vector> #include<Queue> using namespace std; int main() { int n; cout<<“Input the number:”<<endl; cin>>n; int i=1; queue<int> pre; while(i<=n){ //queue<int> pre; queue<int> out; if(n==1){ cout<<1<<endl; break; } if(i==1) { cout<<1<<endl; i++; continue; } else if(i==2) { cout<<1<<” “<<1<<endl; pre.push(1); pre.push(1); i++; continue; } else if(i>=3){ out.push(1); for(int j=0;j<i-2;j++){ //if(!pre.empty()){ int curr=pre.front(); pre.pop(); // if(!pre.empty()) out.push(curr+pre.front()); // } } out.push(1); pre.pop(); } for(int size=1;size<=i;size++){ int current=out.front(); cout<<current<<” “; pre.push(current); out.pop(); } cout<<endl; i++; } system(“pause”); return 0; }

 利用c++中提供的现成Queue类实现。杨辉三角的构造方法是将三角形每行两边的元素置1,其他元素为这个元素“肩”上元素之和。

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/moodytong/article/details/6325420
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞