-->




Queue c++ project source code using array, linked list and doubly/circular linked list

Leave a Comment
Download C++ project source code for queue implementation using array, linked list and circular linked list.
Each data structure has its own functions. User can select from menu for data type selection to build queue.
All data structures has basic queue functions. En-queue, De-queue, show front, show queue etc.

Project source code. It has been tested on Code Blocks C++ IDE.

#include<iostream>
#include<windows.h>

using namespace std;
// Queue for array
void enqueue(int);
void dequeue();
int isempty();
int isfull();
void array_call();
void show();
const int total = 2;
int marks[total];
int rear = -1; //rear mean last element of queue
int front = 0;//front mean first element of queue
int counter = 0;

// Queue for Linklist
struct list
{
 int data;
 list * next;
};
list *f, *c, *p, *temp;
int linklist_counter = 0;
void linklist_insert();
void linklist_call();
void linklist_dequeu();
void linklist_show();
void linklist_front();
int linklist_isempty();

//Queue for Double Linklist
struct dlist {
 dlist * prev;
 int data;
 dlist * next;
};
dlist *first, *current, *previos, *tamp;
int dlinklist_counter = 0;
void dlinklist_insert();
void dlinklist_call();
void dlinklist_dequeu();
void dlinklist_show();
void dlinklist_front();

int main()
{
zee:
 system("cls");
 int i;
 cout << "\t\t\t\t Welcome in Queue  \n 1- Array \n 2- Link List \n 3- Double Link List \n 4- EXIT \n";
 cin >> i;

 switch (i)
 {
 case 1:
  array_call();
  goto zee;
 case 2:
  linklist_call();
  goto zee;
 case 3:

  dlinklist_call();
  goto zee;
 case 4:
  break;
 default:
  cout << " You enter invalid number PLZ Select again \n";
  system("pause");
  goto zee;
 }
 return 0;
}

// function of Array
void array_call()
{
start:
 system("cls");
 cout << "\t\t\t\t Welcome in Queue with Array";
 int input;
 cout << "\n 1- Enqueu \n 2- Dequeu \n 3- Front\n 4- Show all data \n 5- Exit from Queue in Array \n";
 cin >> input;
 switch (input)
 {
 case 1:
 {int z; z = isfull();
 if (z)
 {
  int y;//y is input whiich you insert in queue
  cout << "Enter you number";
  cin >> y;
  enqueue(y);
  cout << " Number entered \n";
  system("pause");
 }
 else
 {
  cout << "Your Queue is full \n";
  system("pause");
 }
 goto start;
 break;
 }

 case 2:
 { int a; a = isempty();
 if (a)
 {
  dequeue();
  cout << "Number deleted \n ";
  system("pause");
 }
 else
 {
  cout << "Your Queue is Empty \n";
  system("pause");
 }
 goto start;
 break;
 }

 case 3:
 {
  int a; a = isempty();
  if (a)
   cout << "\n Your front value is " << marks[front]<<endl;
  else
   cout << "Your Queue is Empty"<<endl;
  system("pause");
  goto start;
  break;
 }

 case 4:
 {
  int a; a = isempty();
  if (a)
   show();
  else
   cout << "Your Queue is Empty"<<endl;
  system(" pause");
  goto start;
 }

 case 5:
 {
  break;
 }
 default:
  cout << "\n You enter invalid Number \n";
  system("pause");
  goto start;
  break;
 }

}
void enqueue(int x)
{
 rear = (rear + 1) % total;
 marks[rear] = x;
 counter = counter + 1;
}
void dequeue()
{
 front = (front + 1) % total;
 counter = counter - 1;
}
int isempty()
{
 return(counter != 0);
}
int isfull()
{
 return(counter != total);
}
void show()
{
 int j = front;
 for (int i = 0; i < counter; i++)
 {

  cout << " " << marks[j];
  j++;
  j = j%total;
 }
}

//function of LINK LIST
void linklist_call()
{
linklist_start:
 system("cls");
 cout << "\t\t\t\t Welcome in linklist Queue";
 int input;
 cout << "\n 1- Enqueu \n 2- Dequeu \n 3- show list \n 4- Front\n 5- Exit\n";
 cin >> input;
 switch (input)
 {
 case 1:
  linklist_insert();
  cout << " Number entered \n";
  system("pause");
  goto linklist_start;
 case 2:
  linklist_dequeu();
  goto linklist_start;
 case 3:
  linklist_show();
  goto linklist_start;
 case 4:
  linklist_front();
  goto linklist_start;
 case 5:
  break;
 default:
  cout << " You enter invalid number ";
  system("pause");
  goto linklist_start;
 }
}
void linklist_insert()
{
 c = new list;
 if (linklist_counter == 0)
 {
  f = c;
  p = c;
  cout << " Enter data ";
  cin >> c->data;
 }
 else
 {
  p->next = c;
  p = c;
  cout << " Enter data";
  cin >> c->data;
 }
 c->next = NULL;
 linklist_counter++;
}
void linklist_dequeu()
{
 if (linklist_counter == 0)
 {
  cout << " Queue is empty";
  system("pause");
 }
 else
 {
  f = f->next;
  linklist_counter--;
  cout << "Number deleted \n ";
  system("pause");
 }
}
void linklist_show()
{
 int emp = linklist_isempty();
 if (emp)
 {
  temp = f;
  while (temp->next != NULL)
  {
   cout << " " << temp->data;
   temp = temp->next;
  }
  cout << " " << temp->data;
 }
 else
 {
  cout << " Queue is empty";
 }
 system("pause");
}
void linklist_front()
{
 int emp = linklist_isempty();
 if (emp)
 {
  cout << " " << f->data;
 }
 else
 {
  cout << " Queue is empty";
 }
 system("pause");
}
int linklist_isempty()
{
 return(linklist_counter != 0);
}

//function of DOUBLE LINK LIST
void dlinklist_call()
{
dlinklist_start:
 system("cls");
 cout << "\t\t\t\t Welcome in Double linklist Queue";
 int dinput;
 cout << "\n 1- Enqueu \n 2- Dequeu \n 3- show list \n 4- Front\n 5- Exit\n";
 cin >> dinput;
 switch (dinput)
 {
 case 1:
  dlinklist_insert();
  cout << " Number entered \n";
  system("pause");
  goto dlinklist_start;
 case 2:
  dlinklist_dequeu();
  cout << "Number deleted \n ";
  system("pause");
  goto dlinklist_start;
 case 3:
  dlinklist_show();
  goto dlinklist_start;
 case 4:
  dlinklist_front();
  goto dlinklist_start;
 case 5:
  break;
 default:
  cout << " You enter invalid number ";
  system("pause");
  goto dlinklist_start;
 }
}
void dlinklist_insert()
{
 current = new dlist;
 if (dlinklist_counter == 0)
 {
  previos = current;
  first = current;
  current->prev = NULL;
  cout << " Enter Data ";
  cin >> current->data;
 }
 else
 {
  previos->next = current;
  current->prev = previos;
  previos = current;
  cout << " Enter Data ";
  cin >> current->data;
 }
 current->next = NULL;
 dlinklist_counter++;
}
void dlinklist_dequeu()
{
 if (dlinklist_counter == 0)
 {
  cout << " Queue is empty";
  system("pause");
 }
 else
 {
  first = first->next;
  dlinklist_counter--;
 }
}
void dlinklist_show()
{
 if (dlinklist_counter == 0)
 {
  cout << " Queue is empty";
 }
 else
 {
  tamp = first;
  while (tamp->next != NULL)
  {
   cout << " " << tamp->data;
   tamp = tamp->next;
  }
  cout << " " << tamp->data;
 }
 system("pause");
}
void dlinklist_front()
{
 if (dlinklist_counter == 0)
 {
  cout << " Queue is empty";
 }
 else
 {
  cout << " " << first->data;
 }
 system("pause");
}



Project output images.

download c++ queue project
queue using array function

c++ queue using doubly or circular linked list


c++ queue using link list


Find more c++ simple projects


Read More...

doubly linked list queue in c++ source code

Leave a Comment
Doubly or circular linked list example using queue data structure. This c++ source code of queue has four main functions of queue.
  • enqueue
  • dequeue
  • show front
  • show list
It uses the concept of functions, pointer, struct and switch etc..

#include<iostream>
#include<windows.h>

using namespace std;

//Queue for Double Linklist
struct dlist {
	dlist * prev;
	int data;
	dlist * next;
};
dlist *first, *current, *previos, *tamp;
int dlinklist_counter = 0;
void dlinklist_insert();
void dlinklist_call();
void dlinklist_dequeu();
void dlinklist_show();
void dlinklist_front();

int main()
{
	system("cls");

    dlinklist_call();
   return 0;
}


//function of DOUBLE LINK LIST
void dlinklist_call()
{
dlinklist_start:
	system("cls");
	cout << "\t\t\t\t Welcome in Double linklist Queue";
	int dinput;
	cout << "\n 1- Enqueu \n 2- Dequeu \n 3- show list \n 4- Front\n 5- Exit\n";
	cin >> dinput;
	switch (dinput)
	{
	case 1:
		dlinklist_insert();
		cout << " Number entered \n";
		system("pause");
		goto dlinklist_start;
	case 2:
		dlinklist_dequeu();
		cout << "Number deleted \n ";
		system("pause");
		goto dlinklist_start;
	case 3:
		dlinklist_show();
		goto dlinklist_start;
	case 4:
		dlinklist_front();
		goto dlinklist_start;
	case 5:
		break;
	default:
		cout << " You enter invalid number ";
		system("pause");
		goto dlinklist_start;
	}
}
void dlinklist_insert()
{
	current = new dlist;
	if (dlinklist_counter == 0)
	{
		previos = current;
		first = current;
		current->prev = NULL;
		cout << " Enter Data ";
		cin >> current->data;
	}
	else
	{
		previos->next = current;
		current->prev = previos;
		previos = current;
		cout << " Enter Data ";
		cin >> current->data;
	}
	current->next = NULL;
	dlinklist_counter++;
}
void dlinklist_dequeu()
{
	if (dlinklist_counter == 0)
	{
		cout << " Queue is empty";
		system("pause");
	}
	else
	{
		first = first->next;
		dlinklist_counter--;
	}
}
void dlinklist_show()
{
	if (dlinklist_counter == 0)
	{
		cout << " Queue is empty";
	}
	else
	{
		tamp = first;
		while (tamp->next != NULL)
		{
			cout << " " << tamp->data;
			tamp = tamp->next;
		}
		cout << " " << tamp->data;
	}
	system("pause");
}
void dlinklist_front()
{
	if (dlinklist_counter == 0)
	{
		cout << " Queue is empty";
	}
	else
	{
		cout << " " << first->data;
	}
	system("pause");
}



Program output:
doubly linked list queue in c++
Read More...

c++ code queue implementation using linked list example

Leave a Comment
C++ program Linked list based queue implementation.  It uses struct, pointers, switch and functions concept. Every queue operation has its own function. User select its desired operation from menu.
It has following functions

  1. Enqueue
  2. Dequeue
  3. Show front 
  4. Show All


    #include<windows.h>
    #include<iostream>
    using namespace std;

    // Queue for Linklist
    struct list
    {
     int data;
     list * next;
    };
    list *f, *c, *p, *temp;
    int linklist_counter = 0;
    void linklist_insert();
    void linklist_call();
    void linklist_dequeu();
    void linklist_show();
    void linklist_front();
    int linklist_isempty();

    int main()
    {
     linklist_call();
     return 0;
    }
    //function of LINK LIST
    void linklist_call()
    {
    linklist_start:
     system("cls");
     cout << "\t\t\t\t Welcome in linklist Queue";
     int input;
     cout << "\n 1- Enqueue \n 2- Dequeue \n 3- show list \n 4- Front\n 5- Exit\n";
     cin >> input;
     switch (input)
     {
     case 1:
      linklist_insert();
      cout << " Number entered \n";
      system("pause");
      goto linklist_start;
     case 2:
      linklist_dequeu();
      goto linklist_start;
     case 3:
      linklist_show();
      goto linklist_start;
     case 4:
      linklist_front();
      goto linklist_start;
     case 5:
      break;
     default:
      cout << " You enter invalid number ";
      system("pause");
      goto linklist_start;
     }
    }
    void linklist_insert()
    {
     c = new list;
     if (linklist_counter == 0)
     {
      f = c;
      p = c;
      cout << " Enter data ";
      cin >> c->data;
     }
     else
     {
      p->next = c;
      p = c;
      cout << " Enter data";
      cin >> c->data;
     }
     c->next = NULL;
     linklist_counter++;
    }
    void linklist_dequeu()
    {
     if (linklist_counter == 0)
     {
      cout << " Queue is empty";
      system("pause");
     }
     else
     {
      f = f->next;
      linklist_counter--;
      cout << "Number deleted \n ";
      system("pause");
     }
    }
    void linklist_show()
    {
     int emp = linklist_isempty();
     if (emp)
     {
      temp = f;
      while (temp->next != NULL)
      {
       cout << " " << temp->data;
       temp = temp->next;
      }
      cout << " " << temp->data;
     }
     else
     {
      cout << " Queue is empty";
     }
     system("pause");
    }
    void linklist_front()
    {
     int emp = linklist_isempty();
     if (emp)
     {
      cout << " " << f->data;
     }
     else
     {
      cout << " Queue is empty";
     }
     system("pause");
    }
    int linklist_isempty()
    {
     return(linklist_counter != 0);
    }


See Also: Array based queue c++ code example
program output:


c++ program for implementing queue using linked list.
linked list queue c++


As a beginner this code help the student to clear the concept of queue using linked list. It can be use as started code for beginners. find a full  c++ array based queue project.



Read More...

queue implementation in c++ using array

Leave a Comment
Simple c++ queue using array implementation example which uses functions loops and conditional statement concept. Queue size is fixed in a variable name 'total which is equal to 5 it can be changed as requirement. User select function from menu and enter input.
We have following functions in queue

  1. Enqueue 
  2. Dequeue
  3. Is Empty (check if queue is empty)
  4. Is Full  
  5. Show All
Prototypes are
void enqueue(int);
void dequeue();
int isempty();
int isfull();
void show();


C++ Queue Source Code


#include<iostream>
#include<windows.h>

using namespace std;
// Queue for array
void enqueue(int);
void dequeue();
int isempty();
int isfull();
void array_call();
void show();
const int total = 5;
int marks[total];
int rear = -1; //rear mean last element of queue
int front = 0;//front mean first element of queue
int counter = 0;

int main()
{
    array_call();
    return 0;
}

// function of Array
void array_call()
{
start:
 system("cls");
 cout << "\t\t\t\t Welcome in Queue with Array";
 int input;
 cout << "\n 1- Enqueu \n 2- Dequeu \n 3- Front\n 4- Show all data \n 5- Exit from Queue in Array \n";
 cin >> input;
 switch (input)
 {
 case 1:
 {int z; z = isfull();
 if (z)
 {
  int y;//y is input whiich you insert in queue
  cout << "Enter you number: ";
  cin >> y;
  enqueue(y);
  cout << " Number entered \n";
  system("pause");
 }
 else
 {
  cout << "Your Queue is full \n";
  system("pause");
 }
 goto start;
 break;
 }

 case 2:
 { int a; a = isempty();
 if (a)
 {
  dequeue();
  cout << "Number deleted \n ";
  system("pause");
 }
 else
 {
  cout << "Your Queue is Empty \n";
  system("pause");
 }
 goto start;
 break;
 }

 case 3:
 {
  int a; a = isempty();
  if (a)
   cout << "\n Your front value is " << marks[front]<<endl;
  else
   cout << "Your Queue is Empty"<<endl;
  system("pause");
  goto start;
  break;
 }

 case 4:
 {
  int a; a = isempty();
  if (a)
   show();
  else
   cout << "Your Queue is Empty"<<endl;
  system(" pause");
  goto start;
 }

 case 5:
 {
  break;
 }
 default:
  cout << "\n You enter invalid Number \n";
  system("pause");
  goto start;
  break;
 }

}
void enqueue(int x)
{
 rear = (rear + 1) % total;
 marks[rear] = x;
 counter = counter + 1;
}
void dequeue()
{
 front = (front + 1) % total;
 counter = counter - 1;
}
int isempty()
{
 return(counter != 0);
}
int isfull()
{
 return(counter != total);
}
void show()
{
 int j = front;
 for (int i = 0; i < counter; i++)
 {
  cout << " " << marks[j];
  j++;
  j = j%total;
 }
}


Run the program


Example input output
queue implementation in c++ using array
Input output

See also: C++ Project Using Array Based Queue
This example may help beginner students to understand the concept of array using queue. It is recommended to change the code add validations etc.

Read More...