链式队列的插入和删除操作
- 2017-10-23 12:55:10
- 4,986 次阅读
- 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; }
不止一次的来,不止一次的去,来来去去,这就是这个博客的魅力!