using namespace std; const int MaxSize=200;
class Queue
{friend void YangHuiSanJiao(int n); //生成杨辉三角的函数 private:
int QueueValue[MaxSize]; //用一个数组实现队列 int iFront,iLast; public:
Queue(){iFront=iLast=-1;}
void EnQueue(int item); //将元素item入列 int OutQueue(); }; //第一个元素出列 返回此元素 void Queue::EnQueue(int item) //将元素item入列 { QueueValue[++iLast]=item; } //入列
int Queue::OutQueue() //第一个元素出列 返回此元素 { return QueueValue[++iFront];}
void YangHuiSanJiao(int n) //生成杨辉三角的函数 {Queue Q; int t1,t2; int i,j;
//下面为主要实现生成杨辉三角的算法 Q.EnQueue(1); //第一行和第二行的生成
Q.EnQueue(1); Q.EnQueue(1);
cout<for(i=3;i<=n+1;i++) //n行杨辉三角数的生成 与输出 { Q.EnQueue(1);t1=Q.OutQueue();
for(j=2;jt1=Q.OutQueue(); //第n-1行第j个元素出列 Q.EnQueue(t1+t2); //第n行的第j个元素入列 cout<Q.EnQueue(1); //第n行最后一个元素为1 cout<Q.EnQueue(0); //以防队列为空 while(--i) //输出最后一行 cout<int main() {int n;cout<<\"请输入n:\\n\"; cin>>n; //输入n
YangHuiSanJiao(n); //生成杨辉三角并输出 system(\"pause\"); return 0; }