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

📄 queue.cpp

📁 c pre preocessor directive for debug messages and queue data structure implementation in c++.
💻 CPP
字号:
#include <iostream.h>

class element   
{
public:
int value;
element* next;
};//class element

class Queue 
{
public:
int size;
element* head;
element* tail;

Queue()
{
size=0;
head=NULL;
tail=NULL;
}//default constructor

void Enqueue(int);
void Dequeue();
int isEmpty();
int  getQueueSize();
void printQueueSize();
void printQueueElements();
void printQueueMenu();
};

void Queue::Enqueue(int ele)
{
	if(head==NULL)            // first element
	{
		head=new element;
		tail=head;       //head==tail if one element
		head->value=ele;
		head->next=NULL;
	}
	else
	{
		tail->next=new element;
		tail->next->value=ele;
		tail->next->next=NULL;
		cout<<tail->next->value<<endl;
		tail=tail->next;
	}
       size++;

//printQueueElements();
}

void Queue::Dequeue()
{
if(getQueueSize()==0)
return;
else if(head==tail)
{
head=NULL;
}
else
{
element *curr,*prev; //remove the first element inserted and
curr=head;           //point the head to next element
head=curr->next;
curr=NULL;
}
size--;
}

int Queue::isEmpty()
{
	if(getQueueSize()==0)
	return 1;

	return 0;
}

int Queue::getQueueSize()
{
return size;
}//returns size of the Queue

void Queue::printQueueSize()
{
cout<<"\nThe Size of the Queue:"<<size<<"\n";
}//print the Queue size

void Queue::printQueueElements()
{
	element* curr2;
		curr2= head;
		cout<<"\n-----\n";
		cout<<"Queue\n";
		cout<<"-----\n";
		cout<<"size:"<<getQueueSize()<<endl;
	while(curr2!=NULL)
		{
			cout<<" |"<<curr2->value<<"|";
			curr2=curr2->next;
		}
		cout<<endl;
}// print the Queue

void Queue::printQueueMenu()
{
cout<<"Welcome to Queue \n";
cout<<"1.Enqueue an element\n";
cout<<"2.Dequeue an element\n";
cout<<"3.Display Queue\n";
cout<<"4.Size Of Queue\n";
cout<<"5.Exit\n";
}

void main()
{
	Queue qt;
	qt.printQueueMenu();
	char Option=0;
	int val;
	while(1)
		{
		qt.printQueueMenu();
		cin>>Option;
		switch(Option)
		{
		case '1':
		cout<<"Enter a Number \n";
		cin>>val;
		qt.Enqueue(val);
		break;
		case '2':
		qt.Dequeue();
		break;
		case '3':
		qt.printQueueElements();
		break;
		case '4':
		qt.printQueueSize();
		break;
		case '5':
		exit(0);
		break;
		}
	}		
}

⌨️ 快捷键说明

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