0% found this document useful (0 votes)
10 views11 pages

Lab 6 Areeba

DSA CODES

Uploaded by

mahnoorkhalid820
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views11 pages

Lab 6 Areeba

DSA CODES

Uploaded by

mahnoorkhalid820
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

National University of Modern

Languages Islamabad

Submitted by: AREEBA INAYAT


Submitted to: MAM MARIYAM IMTIAZ
Course: DATA STRUCTURE
Roll Number: FL23732
LAB 6
You are required to implement following operations of linear Queue using array in C++.
 MakeEmpty
 IsEmpty
 IsFull
 Enqueue
 Dequeue
 peek
 Display
Your Queue class should have a constructor and destructor.

FOR INT
#include <iostream>
using namespace std;

class QueueType {
public:
QueueType(int);
~QueueType();
void MakeEmpty();
bool IsEmpty() const;
bool IsFull() const;
void Enqueue(int);
void Dequeue();
int Peek() const;
void Display() const;

private:
int front, rear;
int* items;
int maxQue;
};

QueueType::QueueType(int size) {
front = -1;
rear = -1;
maxQue = size;
items = new int[maxQue];
}

QueueType::~QueueType() {
delete[] items;
}

void QueueType::MakeEmpty() {
front = -1;
rear = -1;
}

bool QueueType::IsEmpty() const {


return (front == -1);
}

bool QueueType::IsFull() const {


return (rear == maxQue - 1);
}

void QueueType::Enqueue(int value) {

if (front == -1) {
front = 0;
}
rear++;
items[rear] = value;
}

void QueueType::Dequeue()
{

front++;
}

int QueueType::Peek() const


{

return items[front];
}

void QueueType::Display() const {


if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
cout << "Queue contents: ";
for (int i = front; i <= rear; i++) {
cout << items[i] << " ";
}
cout << endl;
}

int main() {
QueueType que(5);

int val;
for (int i = 0; i < 5; i++) {
cout << "Enter a value to insert: ";
cin >> val;
if (!que.IsFull())
que.Enqueue(val);
cout << "peek item: " << que.Peek() << endl;
}

que.Display();
if (!que.IsEmpty())
{
que.Dequeue();
}
que.Display();
return 0;
}
FOR FLOAT

#include <iostream>
using namespace std;

class QueueType {
public:
QueueType(int);
~QueueType();
void MakeEmpty();
bool IsEmpty() const;
bool IsFull() const;
void Enqueue(float);
void Dequeue();
float Peek() const;
void Display() const;

private:
int front, rear;
float* items;
int maxQue;
};

QueueType::QueueType(int size) {
front = -1;
rear = -1;
maxQue = size;
items = new float[maxQue];
}
QueueType::~QueueType() {
delete[] items;
}

void QueueType::MakeEmpty() {
front = -1;
rear = -1;
}

bool QueueType::IsEmpty() const {


return (front == -1);
}

bool QueueType::IsFull() const {


return (rear == maxQue - 1);
}

void QueueType::Enqueue(float value) {


if (IsFull()) {
cout << "Queue is full." << endl;
return;
}
if (front == -1) {
front = 0;
}
rear++;
items[rear] = value;
}

void QueueType::Dequeue() {
if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
front++;

float QueueType::Peek() const {

return items[front];
}

void QueueType::Display() const {


if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
cout << "Queue contents: ";
for (int i = front; i <= rear; i++) {
cout << items[i] << " ";
}
cout << endl;
}

int main() {
QueueType que(5);

float val;
for (int i = 0; i < 5; i++) {
cout << "Enter a character to insert: ";
cin >> val;
que.Enqueue(val);
cout << "Peek item: " << que.Peek() << endl;
}

que.Display();
if (!que.IsEmpty()) {
que.Dequeue();
}
que.Display();
return 0;
}

FOR CHAR

#include <iostream>
using namespace std;

class QueueType {
public:
QueueType(int);
~QueueType();
void MakeEmpty();
bool IsEmpty() const;
bool IsFull() const;
void Enqueue(char);
void Dequeue();
char Peek() const;
void Display() const;

private:
int front, rear;
char* items;
int maxQue;
};

QueueType::QueueType(int size) {
front = -1;
rear = -1;
maxQue = size;
items = new char[maxQue];
}

QueueType::~QueueType() {
delete[] items;
}

void QueueType::MakeEmpty() {
front = -1;
rear = -1;
}

bool QueueType::IsEmpty() const {


return (front == -1);
}

bool QueueType::IsFull() const {


return (rear == maxQue - 1);
}

void QueueType::Enqueue(char value) {


if (IsFull()) {
cout << "Queue is full." << endl;
return;
}
if (front == -1) {
front = 0;
}
rear++;
items[rear] = value;
}

void QueueType::Dequeue() {
if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
front++;

char QueueType::Peek() const {


if (IsEmpty()) {
cout << "Queue is empty." << endl;
return '\0';
}
return items[front];
}

void QueueType::Display() const {


if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
cout << "Queue contents: ";
for (int i = front; i <= rear; i++) {
cout << items[i] << " ";
}
cout << endl;
}

int main() {
QueueType que(5);

char val;
for (int i = 0; i < 5; i++) {
cout << "Enter a character to insert: ";
cin >> val;
que.Enqueue(val);
cout << "Peek item: " << que.Peek() << endl;
}

que.Display();
if (!que.IsEmpty()) {
que.Dequeue();
}
que.Display();
return 0;
}
FOR STRING
#include <iostream>
using namespace std;

class QueueType {
public:
QueueType(int);
~QueueType();
void MakeEmpty();
bool IsEmpty() const;
bool IsFull() const;
void Enqueue(string);
void Dequeue();
string Peek() const;
void Display() const;

private:
int front, rear;
string* items;
int maxQue;
};

QueueType::QueueType(int size) {
front = -1;
rear = -1;
maxQue = size;
items = new string[maxQue];
}

QueueType::~QueueType() {
delete[] items;
}

void QueueType::MakeEmpty() {
front = -1;
rear = -1;
}

bool QueueType::IsEmpty() const {


return (front == -1);
}

bool QueueType::IsFull() const {


return (rear == maxQue - 1);
}

void QueueType::Enqueue(string value) {


if (IsFull()) {
cout << "Queue is full." << endl;
return;
}
if (front == -1) {
front = 0;
}
rear++;
items[rear] = value;
}
void QueueType::Dequeue() {
if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
front++;

string QueueType::Peek() const {

return items[front];
}

void QueueType::Display() const {


if (IsEmpty()) {
cout << "Queue is empty." << endl;
return;
}
cout << "Queue contents: ";
for (int i = front; i <= rear; i++) {
cout << items[i] << " ";
}
cout << endl;
}

int main() {
QueueType que(5);

string val;
for (int i = 0; i < 5; i++) {
cout << "Enter a character to insert: ";
cin >> val;
que.Enqueue(val);
cout << "Peek item: " << que.Peek() << endl;
}

que.Display();
if (!que.IsEmpty()) {
que.Dequeue();
}
que.Display();
return 0;
}

You might also like