?? 實驗三.cpp
字號:
#include <stdio.h>
#include <assert.h>
#include <iostream.h>
class Queue;
class QueueNode
{
friend class Queue;
private:
int data;
QueueNode *link;
QueueNode(int d=0,QueueNode *l=NULL):data(d),link(l) {}
};
class Queue
{
public:
Queue():rear(NULL),front(NULL) {}
~Queue();
void EnQueue(int item);
int DeQueue();
int IsEmpty() {return front==NULL;}
void MakeEmpty();
private:
QueueNode *front,*rear;
};
Queue::~Queue()
{
QueueNode *p;
while(front!=NULL)
{
p=front;
front=front->link;
delete p;
}
}
void Queue::EnQueue(int item)
{
if(front==NULL)
front=rear=new QueueNode(item,NULL);
else
rear=rear->link=new QueueNode(item,NULL);
}
int Queue::DeQueue()
{
assert(!IsEmpty());
QueueNode *p=front;
int value=p->data;
front=front->link;
delete p;
return value;
}
void Queue::MakeEmpty()
{
QueueNode *p;
while(front!=NULL)
{
p=front;
front=front->link;
delete p;
}
}
void YANGHUI(int n)
{
Queue q;
q.MakeEmpty();
q.EnQueue(1);
q.EnQueue(1);
int s=0;
for(int i=1;i<=n;i++)
{
cout<<endl;
for(int k=0;k<n-i;k++)
cout<<' ';
q.EnQueue(0);
for(int j=1;j<=i+2;j++)
{
int t=q.DeQueue();
q.EnQueue(s+t);
s=t;
if(j!=i+2) cout<<s<<' ';
}
}
cout<<endl;
}
void main()
{
YANGHUI(6);
YANGHUI(8);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -