用队列打印杨辉三角
来源:互联网 发布:mac os 五笔输入法 编辑:程序博客网 时间:2024/06/04 17:53
1 1 0(用0作为行打印的边界条件)tmp作为临时变量,初始化等于0
1 2 1 0 (tmp(0)+1,tmp(1)+1,tmp(1)+0) 规律
1 3 3 1 0 (tmp(0)+1,tmp(1)+2,tmp(2)+1,tmp(1)+0) tmp的顺序输入值是上一行队列里的反向出队列的值,被加数是上一行队列的顺序输出值。代码如下:
#include<iostream>using namespace std;#define NUM 50template <class T>class Seq{private: T * elem; int front; int rear; int maxsize; int size;public:void create();void enQue(T x);void deQue();T getHead();bool isEmpty();void traverse();};template <class T>void Seq<T>::create(){elem=new T[NUM];front=0;rear=0;maxsize=NUM;size=0;}template <class T>void Seq<T>::enQue(T x){if((rear+1)%maxsize==front) cout<<"The queue is full !";else {rear=(rear+1)%maxsize; elem[rear]=x; size++; }}template <class T>void Seq<T>::deQue(){if(rear==front) cout<<"There is no data !";else {front=(front+1)%maxsize; size--; }}template <class T>T Seq<T>::getHead(){return elem[(front+1)%maxsize];}template <class T>bool Seq<T>::isEmpty(){if(rear==front) return true;else return false;}template <class T>void Seq<T>::traverse(){for(int i=0;i<size;i++){cout<<elem[(front+1+i)%maxsize]<<" ";}}void yanghui(int n){Seq<int> Q;int tmp=0;int k=1;cout<<1<<endl;;Q.create();Q.enQue(1);Q.enQue(1);Q.enQue(0);while(k<n){ while(Q.getHead()!=0) {Q.enQue(tmp+Q.getHead());tmp=Q.getHead();cout<<Q.getHead();Q.deQue(); }k++;tmp+=Q.getHead();Q.enQue(tmp);Q.enQue(0);Q.deQue();tmp=0;cout<<endl;}}int main(){yanghui(5);}
0 0
- 用队列打印杨辉三角
- 用队列打印杨辉三角
- 用 队列 打印 杨辉三角
- 队列基础 (用队列打印杨辉三角)
- 【数据结构队列的应用】用队列打印杨辉三角
- 用循环队列实现打印杨辉三角(数据结构)
- 队列实现杨辉三角打印
- 队列实现 杨辉三角的打印
- 循环队列打印杨辉三角
- 利用队列实现杨辉三角的打印
- 数据结构循环队列以及打印杨辉三角
- 队列应用之打印杨辉三角_legend
- 数据结构实验八——队列打印杨辉三角
- 打印杨辉三角(STL版队列)
- 利用循环队列打印输出杨辉三角
- 利用循环队列实现杨辉三角的打印
- 用队列或常规数组打印杨辉三角的比较
- 顺序队列(循环队列)+链式队列+打印杨辉三角
- The Best Gift
- JNI编程中如何传递参数和返回值
- 阿里云服务器Web项目配置发布全过程(二)
- 喝汽水问题
- QPS 与 TPS 简介
- 用队列打印杨辉三角
- 改变网络接口速度和协商方式miitool和ethtool
- 消除绝对定位的影响
- 文件上传和下载(二)--【struts2】
- java内存分配和String类型的深度解析
- Table集合
- alsa声卡驱动分析总结(一)
- 存储系统-主存的刷新和检验
- ios开发根据Label的字体和宽度算出它的高度