⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 队列打印杨辉三角.cpp

📁 这个是我的大学作业哦 里面有些很经典的代码 出自清华大学的数据结构课本
💻 CPP
字号:

#include<assert.h>
#include<iostream>
#include<iomanip>
using namespace std;
//******************************
class Queue {
	int front, rear;  
	int *elements;   
	int maxsize;
public:
	Queue(int sz);
	~Queue(){  delete[]elements;  }
	void EnQueue(int item);
	int DeQueue();
	void yanghui(int n);
	void makeempty(){  front = rear = 0;  }
	int isfull(){ return (rear+1)%maxsize==front; }
	int isempty(){ return front==rear; }

};
Queue::Queue(int sz):front(0),rear(0),maxsize(sz) {
	elements = new int[maxsize];
	assert(elements!=0);
}


void Queue::EnQueue(int item) {
	assert(!isfull());
	rear = (rear+1)%maxsize;
	elements[rear] = item;
    
}

int Queue::DeQueue() {
	assert(!isempty());
	front = (front+1) % maxsize;
	return elements[front];
}

void Queue::yanghui (int n) {
    makeempty ();
	EnQueue(1);  EnQueue(1);
	int s = 0;
	for( int i = 1; i <= n; i++ )
	{
 
		cout<<endl;
/*
		for(int k=0;k<2*(n-i);k++)  
		{
			cout<<" ";
		}
*/
		EnQueue (0);

		for(int j = 1; j <= i+2; j++)
		{
			int t = DeQueue();
			EnQueue(s+t);
			s = t;
			if(j!=i+2) cout<<setw(4)<<s;
		}
	}
}
void main() {
	Queue Y(1000);
	Y.yanghui (10);
	cout<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -