杨辉三角
#include<iostream>
#include<iomanip>
using namespace std;
class Queue
{
private:
int rear;
int queuesize;
int front;
int* base;
public:
Queue(int m);
void EnQueue(int m);
int DeQueue();
void QueueTranverse();
int Get();
};
Queue::Queue(int m)
{
base = new int[m];
if (base == NULL)
{
cout << "队创建失败,退出" << endl;
exit(1);
}
front = rear = 0;
queuesize = m;
}
void Queue::EnQueue(int x)
{
if ((rear + 1) % queuesize == front)throw"上溢,无法入队";
base[rear] = x;
rear = (rear + 1) % queuesize;
}
int Queue::DeQueue()
{
int x;
if (front == rear)
{
throw"下溢,不能出队";
}
x = base[front];
front = (front + 1) % queuesize;
return x;
}
void Queue::QueueTranverse()
{
int i = front;
while (i != rear)
{
cout << base[i] << " ";
i = (i + 1) % queuesize;
}
cout << endl;
}
int Queue::Get()
{
return base[front]+base[front+1];
}
int main()
{
Queue A(1000);
int x;
int k = 2;
int o = 10;
for (int i = 0; i < o; i++)
cout << " "; cout <<setw(6)<< "1" << endl;
A.EnQueue(0); A.EnQueue(1);
while (o--)
{
for (int i = 0; i < o; i++) cout << " ";
A.EnQueue(0);
for (int i = 0; i < k; i++)
{
int x = A.Get();
cout <<setw(6)<<x<<" ";
A.DeQueue();
A.EnQueue(x);
}
cout << endl;
k++;
}
}

浙公网安备 33010602011771号