杨辉三角形,错在哪,谢谢!
#include<stdio.h>#include<stdlib.h>
#include<malloc.h>
typedef struct QNode{
int data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr rear;
QueuePtr front;
}LinkQueue;
void InitQueue(LinkQueue &Q){
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
Q.front=NULL;
}
void EnQueue(LinkQueue &Q,int e){
QNode *p;
p=(QueuePtr)malloc(sizeof(QNode));
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
}
void DEQueue(LinkQueue &Q,int &e){
QNode *p;
p=Q.front->next;
e=p->data;
Q.front->next=p->next;
free(p);
}
int GetFront(LinkQueue &Q){
return Q.front->next->data;
}
main(){
int w,p,sum;
LinkQueue Q;
InitQueue(Q);
EnQueue(Q,1);
EnQueue(Q,1);
for(int i=2;i<=5;i++){
EnQueue(Q,1);
for(int j=0;j<=i-2;j++){
DEQueue(Q,p);
printf("%d",p);
w=GetFront(Q);
sum=p+w;
EnQueue(Q,sum);
}
EnQueue(Q,1);
printf("\n");
}
}