You are on page 1of 3

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

h> using namespace std; const int nSize = 7;kacc32548 int CQueue[nSize], nFront = -1, nRear = -1; int Insert (int CQueue[], int nElement) { if (((nFront == 0) && (nRear == nSize - 1)) || (nFront == nRear + 1)) return -1; else if (nRear == -1) nFront = nRear = 0; else if (nRear == nSize - 1) nRear = 0; else nRear ++; CQueue[nRear] = nElement; return 0; } void Display (int CQueue[], int nFront, int nRear) { int i = 0; cout << " Circular queue is" << endl; cout << " Front shown as >>>, rear as <<<, and free space as -" << endl; cout << " "; if (nFront == -1) return; if (nRear >= nFront) { for (i = 0; i < nFront; i++) cout << " - "; cout << " >>> "; for (i = nFront; i < nRear; i++) cout << CQueue[i] << " <- "; cout << CQueue[nRear] << " <<< " << endl; } else { for (i = 0; i < nRear; i++) cout << CQueue[i] << " <- "; cout << CQueue[nRear] << " <<< "; for (; i < nFront; i++) cout << " - "; cout << " >>> "; for (i = nFront; i < nSize; i++) cout << CQueue[i] << "<-"; cout << " Wrap around" << endl; } } int Delete (int CQueue[]) { int nReturn; if (nFront == -1) return -1; else

{ nReturn = CQueue[nFront]; if (nFront == nRear) nFront = nRear = -1; else if (nFront == nSize - 1) nFront = 0; else nFront++; } return nReturn; } int main() { int nElement, nResult, nFlag; do { system ("cls"); cout << endl << " Circular Queue Menu" << endl << endl; cout cout cout cout << << << << " " " " 1) 2) 3) 4) Insert" << endl; Delete" << endl; Display" << endl; Exit" << endl << endl;

cout << " Enter your choice: "; cin >> nFlag; system ("cls"); cout << endl; switch (nFlag) { case 1: cout << " Enter element for insertion: "; cin >> nElement; nResult = Insert (CQueue, nElement); if (nResult == -1) cerr << " Underflow."; else Display (CQueue, nFront, nRear); cout << endl << " "; system ("pause"); break; case 2: nElement = Delete (CQueue); cout << " Element deleted is: " << nElement << endl; Display (CQueue, nFront, nRear); cout << endl << " "; system ("pause"); break; case 3: Display (CQueue, nFront, nRear); cout << endl << " "; system ("pause"); break;

case 4: break; } } while (nFlag != 4); return 0; }

You might also like