?? 隊列打印楊輝三角.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 + -