链式队列的插入和删除操作
- 2017-10-23 12:55:10
- 5,346 次阅读
- 0
链式队列就是采用链式存储结构存储队列,其采用单链表来实现。一个链队列需要两个分别指向队头和队尾的指针(front和rear)。在什么情况下使用链式队列和顺序队列呢?当一个应用程序同时使用多个队列时,采用链式队列比较好,而当只有一个队列时,使用顺序队列比较好。插入和删除元素即为链式队列的主要操作对象。
①链式队列插入图示:

②链式队列删除图示:

③链式队列插入代码:
void LQueueInsert(LinkedQueue *lqu,in x)
{
LQNode *p
p=(LQNode *)malloc(sizeof(LQNode));
p->data=x;
p->next=NULL;
if(lqu->rear==null)
lqu->front=lqu->rear=p;
else
{
lqu->rear->next=p;
lqu->rear=p
}
}
④链式队列删除代码:
int LQueueDelete(LinkedQueue *lqu,int &x)
{
LQNode *p;
if(lqu->rear==NULL)
return 0;
else
{
p=lqu->front;
x=p->data;
lqu->front=lqu->front->next;
free(p);
}
return 1;
}
不止一次的来,不止一次的去,来来去去,这就是这个博客的魅力!