使用队列实现杨辉三角,主要思想:建立两个空队列,先往第一个空队列中输入0 1 0,本来第一行为1,给它的左右各补一个0,之后每行的左右都加一个0。第一个队列先删除0,有返回值 0,让其加上第一个队列现在的第一个元素后进入第二个队列,以此类推
#include "SequenceQueue.h"
#include <stdio.h>
int InitQueue(Queue *q)
{
if(NULL == q)
{
return FAILURE;
}
q->rear = q->front = 0;
return SUCCESS;
}
int EmptyQueue(Queue q)
{
return (q.front == q.rear) ? : FALSE;
}
int EnterQueue(Queue *q,int e)
{
if(NULL == q)
{
return FAILURE;
}
if((q->rear + 1) % SIZE == q->front)
{
return FAILURE;
}
q->data[q->rear] = e;
q->rear = (q->rear + 1) % SIZE;
return SUCCESS;
}
in