⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linkqueue.h

📁 数据结构基础代码
💻 H
字号:
//队列的链式存储结构的定义
typedef struct qnode
{
	int data;
	struct qnode *next;
}qnode,*queueptr;

typedef struct
{
	queueptr front;
	queueptr rear;
}linkqueue;


void initqueue(linkqueue &q)
{ 
	//构造一个只含头结点的空队列
	q.front=q.rear=new qnode;
	q.front->next=NULL;
}//initqueue


void creatqueue(linkqueue &q)
{
	//初始化
	int i,x;
	queueptr p;
	cout<<"请输入队列的元素值(输入0表示结束!):"<<endl;
	while(p)
	{
		p=new qnode;
		cin>>x;
		if(x==0)
			break;
		p->data=x;
		p->next=NULL;
		q.rear->next=p;
		q.rear=p;
	}
	cout<<"正序创建的队列元素是:"<<endl;
	p=q.front;
	while(p!=q.rear)
	{
		p=p->next;
		cout<<p->data<<'\t';
	}


}//creatqueue


void inqueue(linkqueue &q,int x)
{
	//进队
	queueptr p;
	p=new qnode;
	p->data=x;
	p->next=NULL;
	q.rear->next=p;
	q.rear=p;
	cout<<"进队操作后的队列是:"<<endl;
	p=q.front;
	while(p!=q.rear)
	{
		p=p->next;
		cout<<p->data<<'\t';
	}
}//inqueue


int outqueue(linkqueue &q)
{
	//出队
	queueptr p;
	p=q.front;
	p=p->next;
	q.front=q.front->next;
	return p->data;
}//outqueue

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -