线性表-队列的链式表示

来源:互联网 发布:linux java控制面板 编辑:程序博客网 时间:2024/06/01 09:49
#include <iostream>#include <string>#include <vector>using namespace std;/**队列的链式表示 */typedef struct QNode{int data;struct QNode *next; } QNode,*QueuePtr;typedef struct {QueuePtr front;//队头指针 QueuePtr rear;//队尾指针 }LinkQueue;//初始化int initQueue(LinkQueue &Q) {Q.rear = new QNode;Q.front = Q.rear;Q.front->next = NULL;//带头结点  return 1;}//入队int enQueue(LinkQueue &Q,int e){QueuePtr p = new QNode;p->data = e;p->next = NULL;Q.rear->next = p;Q.rear = p;return 1;}//取队头int getHead(LinkQueue &Q){if(Q.front!=Q.rear){cout<<"queue head:"<<Q.front->next->data<<endl;return Q.front->data;} }  //出队 int deQueue(LinkQueue &Q){if(Q.front==Q.rear){cout<<"deQueue err: queue null"<<endl;return -1;}QueuePtr p = Q.front->next;Q.front->next = p->next;delete p;return 1;}int main(){LinkQueue queue;initQueue(queue);enQueue(queue,1);enQueue(queue,2);enQueue(queue,3);enQueue(queue,4);enQueue(queue,5);deQueue(queue);getHead(queue);}

0 0
原创粉丝点击