循环队列打印杨辉三角
来源:互联网 发布:安装vs2015网络 编辑:程序博客网 时间:2024/06/05 01:17
#include<bits/stdc++.h>using namespace std;class SeqQueue{private:int* elements; //存放队列元素的数组int rear,front; //队尾指针和对头指针int maxSize; //队列可容纳的最大元素个数public:SeqQueue(int sz=10); //构造函数~ SeqQueue(){ delete[]elements;} //析构函数bool EnQueue(const int x); //进队函数bool DeQueue(int& x); //出队函数bool getFront(int& x); //取队头元素 bool isEmpty(){return (front==rear)?true:false;} //判断队空bool isFull(){return ((rear+1)%maxSize==front)?true:false;} //判断队满};SeqQueue::SeqQueue(int sz):rear(0),front(0),maxSize(sz){elements=new int[maxSize];assert(elements!=NULL); //断言机制:如果不满足括号内条件将终止程序的执行}bool SeqQueue::EnQueue(const int x){if(isFull()) return false;elseelements[rear]=x; rear=(rear+1)%maxSize; //加一再取余是为了rear指向队列最后一个元素(下标maxSize-1),再进一下标就到了0return true;}bool SeqQueue::DeQueue(int& x){if(isEmpty()) return false;elsex=elements[front]; front=(front+1)%maxSize;return true;}bool SeqQueue::getFront(int& x){if(isEmpty()) return false;elsex=elements[front];return true;}void YANGVI(int n){int j,k;int s=0,t,sum;SeqQueue Q(n+3);Q.EnQueue(1);Q.EnQueue(1);for(j=1;j<=n;j++){ //循环n次cout<<endl;Q.EnQueue(0); for(k=1;k<=j+2;k++){ //输出第n行的n+1个元素 Q.getFront(t); sum=s+t; Q.EnQueue(sum); Q.DeQueue(s); if(k!=j+2) cout<<s<<" ";}}}int main(){int n;cout<<"please put in the line number:"<<endl;cin>>n;YANGVI(n);system("pause"); return 0;}
0 0
- 循环队列打印杨辉三角
- 数据结构循环队列以及打印杨辉三角
- 用循环队列实现打印杨辉三角(数据结构)
- 利用循环队列打印输出杨辉三角
- 利用循环队列实现杨辉三角的打印
- 顺序队列(循环队列)+链式队列+打印杨辉三角
- 队列实现杨辉三角打印
- 队列实现 杨辉三角的打印
- 用队列打印杨辉三角
- 用队列打印杨辉三角
- 用 队列 打印 杨辉三角
- 打印杨辉三角--for循环
- 循环队列实现杨辉三角
- 循环队列实现杨辉三角
- 用循环队列解决杨辉三角
- 循环队列 输出杨辉三角
- 数据结构循环队列实现杨辉三角
- 队列基础 (用队列打印杨辉三角)
- 欢迎使用CSDN-markdown编辑器
- 路由器设置端口映射(局域网通过外网访问)
- Django 常用基本命令
- android 浅入浅出看一下事件传递
- ffmpeg: time_base分析
- 循环队列打印杨辉三角
- 系统思考方式
- UIActivityIndicatorView
- PTA 5-19 支票面额
- SharedPreferences
- Linux文件系统命令
- python之禅——import this
- 如何安装Jmeter插件
- 经典面试题——二维数组查找