《数据结构》假设用一个循环单链表来表示队列(称为循环链队),

假设用一个循环单链表来表示队列(称为循环链队),该队列中只设一个队尾指针REAR,不设队首指针。请编写向循环链队中插入一个元素X的过程。

typedef int ElemType;
//定义链表
typedef struct lnode
{
ElemType data; //数据域
struct lnode *next; //后继指针
}LNode;

//定义链队列将头尾指针封装在一起的链队
typedef struct
{
LNode *rear; //对尾指针
}QueueNode;

//入对
void Insert(QueueNode *q,ElemType x)
{
LNode *s;

s=(LNode *)malloc(sizeof(LNode));
if(s==NULL)
exit(1);

s->data = x;//赋值
s->next=q->rear->next;//新节点后继指向对尾后继
q->rear->next=s;//对尾后继指向新节点
q->rear=s;//对尾指向新节点

}
温馨提示:答案为网友推荐,仅供参考
相似回答