Google PlusFacebookTwitter

Queues : Implementation Using Array

By on Dec 15, 2007 in On A Whim | 1 comment

Share On GoogleShare On FacebookShare On Twitter

/* Copyright (C) 2007 Ankur Banerjee. This program is free software: you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. For a copy of the GNU General Public License see http://www.gnu.org/licenses/gpl.html */

/* Array implementation of a Queue */

#include <iostream.h>
#include <conio.h>
#include <process.h>

void main()
{
const int max = 10;
int ch, n, front = -1, rear = -1, q[max];
char choice;
do
{
clrscr();
cout<<endl<<“Program Menu”
<<endl<<“1. Insert new element”
<<endl<<“2. Delete an element”
<<endl<<“3. Show list”
<<endl<<“4. Exit”
<<endl<<“Enter your choice: “;
cin>>ch;
switch(ch)
{
case 1 : clrscr();
cout<<endl<<“Enter number to be inserted: “;
cin>>n;
if (rear == max-1)
cout<<endl<<“Queue overflow! Insertion not possible!”;
else
{
if (front == -1)
{
front++;
q[front] = n;
rear = front;
}
else
{
rear++;
q[rear] = n;
}
}
break;
case 2 : clrscr();
if (front == -1)
cout<<endl<<“Queue does not exist!”;
else if (rear == front)
{
n = q[front];
rear = -1;
front = -1;
cout<<endl<<“Deleted data item: “
<<n<<endl;
}
else
{
n = q[front];
front++;
cout<<endl<<“Deleted data item: “
<<n<<endl;
}
break;
case 3 : clrscr();
if (front == -1)
cout<<endl<<“Queue does not exist!”;
else
{
cout<<“\nDisplaying items:\n”;
for(int i = front; i <= rear; i++)
cout<<q[i]<<” “;
cout<<endl;
}
break;
case 4 : cout<<endl<<“Exiting program”<<endl;
exit(0);
default : cout<<endl<<“You entered an invalid choice!”;
}
cout<<endl<<“Do you wish to continue? (y/n): “;
cin>>choice;
} while (choice == ‘Y’ || choice == ‘y’);
}

/* Output */

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 1

Enter number to be inserted: 42

Do you wish to continue? (y/n): y

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 1

Enter number to be inserted: 41

Do you wish to continue? (y/n): y

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 1

Enter number to be inserted: 43

Do you wish to continue? (y/n): y

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 3

Displaying items:
42 41 43

Do you wish to continue? (y/n): y

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 2

Deleted data item: 42

Do you wish to continue? (y/n): y
Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 3

Displaying items:
41 43

Do you wish to continue? (y/n): y

Program Menu
1. Insert new element
2. Delete an element
3. Show list
4. Exit
Enter your choice: 4

Exiting program



1 Comment

  1. Just an interesting anecdote..The local Realtor associations have been holding “Short Sale” seminars. Word on the street is that classes are filling up fast.Isn’t it amazing? Out of one side of their mouth, the market is doing just fine. Out of the other? “How do I profit from the downturn?”

Submit a Comment

Your email address will not be published. Required fields are marked *