queue.h

来自「这是我在复习备考软件设计师时,写的一个程序,拓朴排序在很多方面都会very im」· C头文件 代码 · 共 67 行

H
67
字号
#include <iostream>
using namespace std;

typedef char TYPE;
typedef struct QNode{
//	Queue *front;
//	Queue *rear;
	QNode *next;
	TYPE data;
}QNode;
typedef struct Queue{
	QNode *front;
	QNode *rear;
}Queue;
void InitQueue(Queue *&Q)
{
	Q=new Queue;
	Q->front=new QNode;
	Q->rear=Q->front;
	Q->front->data=0;
	Q->front->next=0;
	//return 1;
}
int EnQueue(Queue *Q,TYPE e)
{
	QNode *p2;
//	if(Q->front->data==0)
//	{
//		Q->rear=Q->front;
		p2=new QNode;
		p2->data=e;
		p2->next=0;
		Q->rear->next=p2;
		Q->rear=p2;
		
//	}
//	else
//	Q->rear->next=0;
	return 1;
}
TYPE DeQueue(Queue *Q,TYPE &e)
{
	QNode *p;
	if(Q->rear==Q->front) return 0;
	while(Q->rear!=Q->front)
	{
		p=Q->front->next;
		e=p->data;
		cout<<e;
		Q->front=p;
//		p=p->next;
//		if(p->next)
//			if(Q->rear==p)
//			{
//				InitQueue(Q);
//			}
			//Q->front=Q->front->next;
//			delete p;
	}
	return e;
}

		
		


⌨️ 快捷键说明

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