首页 > 学院 > 开发设计 > 正文

线性表-队列的链式表示

2019-11-08 01:47:42
字体:
来源:转载
供稿:网友
#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);}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表