顺序队列实现杨辉三角

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf("%d",&N);
YangHuiTriangle(N);
}
Q->element[Q->rear]=x;
Q->rear=(Q->rear+1)%MAXSIZE;
return TRUE;
}
int DelQueue(SeqQueue *Q,QueueElemType *x)//出对
{
if(Q->front==Q->rear)
return FALSE;
*x=Q->element[Q->front];
#define MAXSIZE 50/*利用队列实现杨辉三角的打印*/
#define FALSE 0
#define TRUE 1
typedef int QueueElemType;
typedef struct
{
QueueElemType element[MAXSIZE];
int front;
int rear;
}SeqQueue;
void InitQueue(SeqQueue *Q)//初始化
{
Q->front=Biblioteka Baidu->rear=0;
}
int EnterQueue(SeqQueue *Q,QueueElemType x)//入队
{
if((Q->rear+1)%MAXSIZE==Q->front)
return FALSE;
EnterQueue(&Q,1);//第一行元素入队
for(n=2;n<=N;n++)
{
EnterQueue(&Q,1);
for(i=1;i<=n-2;i++)
{
DelQueue(&Q,&temp);
printf("%d ",temp);
GetHead(&Q,&x);
temp=temp+x;
EnterQueue(&Q,temp);
return TRUE;
}
int IsEmpty(SeqQueue *Q)
{
if(Q->rear==Q->front)
return TRUE;
else
return FALSE;
}
void YangHuiTriangle(int N)
{
int n,i,x,temp;
SeqQueue Q;
InitQueue(&Q);
}
DelQueue(&Q,&x);
printf("%d ",x);
EnterQueue(&Q,1);
printf("\n");
}
while(!IsEmpty(&Q))
{
DelQueue(&Q,&x);
printf("%d ",x);
}
}
void main()
{
int N;
printf("\nplease input the N:");
Q->front=(Q->front+1)%MAXSIZE;
return TRUE;
}
int GetHead(SeqQueue *Q,QueueElemType *x)//取对头元素
{
if(Q->front==Q->rear)
return FALSE;
*x=Q->element[Q->front];
相关文档
最新文档