Queue Data Structures Implementation PDF

Document Details

PreciousHarpGuitar

Uploaded by PreciousHarpGuitar

Misr University for Science and Technology

Tags

data structures queue c++ programming

Summary

This document provides the implementation of queue data structures in C++. The code includes fundamental enqueue, dequeue, peek, isEmpty, and isFull functions. The implementation is presented as an example solution.

Full Transcript

# علوم الحاسب ## الفرقة الثانية ### Session 5 ## هياكل البيانات ### Data Structures # Q.1. Define queue operation, Write C++ implementation for Queue. ## Basic Operations on Queue: 1. **enqueue():** Inserts an element at the end of the queue (rear). ```c++ int enqueue(int data) { if (i...

# علوم الحاسب ## الفرقة الثانية ### Session 5 ## هياكل البيانات ### Data Structures # Q.1. Define queue operation, Write C++ implementation for Queue. ## Basic Operations on Queue: 1. **enqueue():** Inserts an element at the end of the queue (rear). ```c++ int enqueue(int data) { if (isfull()) return 0; rear = rear + 1; queue[rear] = data; return 1; } ``` 2. **dequeue():** Remove and return an element that is at the front end of the queue. ```c++ int dequeue() { if (isempty()) return 0; int data = queue[front]; front = front + 1; return data; } ``` 3. **peek():** Returns the element at the front end without removing it. ```c++ int peek() { return queue[front]; } ``` 4. **isEmpty():** Whether the queue is empty or not. ```c++ bool isempty() { if (front < 0 || front > rear) return true; else return false; } ``` 5. **isFull():** Whether the queue is full or not. ```c++ bool isfull() { if (rear == n - 1) return true; else return false; } ``` ## Implementation ```c++ #include <iostream> using namespace std; int queue[100], n = 100, front = -1, rear = -1; void Insert() { int val; if (rear == n - 1) cout << "Queue Overflow" << endl; else { if (front == -1) front = 0; cout << "Insert the element in queue : " << endl; cin >> val; rear++; queue[rear] = val; } } void Delete() { if (front == -1 || front > rear) { cout << "Queue Underflow "; return; } else { cout << "Element deleted is: " << queue[front] << endl; front++;; } } void Display() { if (front == -1) cout << "Queue is empty" << endl; else { cout << "Queue elements are : "; for (int i = front; i <= rear; i++) cout << queue[i] << " "; cout << endl; } } int main() { int ch; cout << "1) Insert element to queue" << endl; cout << "2) Delete element from queue" << endl; cout << "3) Display all the elements of queue" << endl; cout << "4) Exit" << endl; do { cout << "Enter your choice : " << endl; cin >> ch; switch (ch) { case 1: Insert(); break; case 2: Delete(); break; case 3: Display(); break; case 4: cout << "Exit" << endl; break; default: cout << "Invalid choice" << endl; } } while (ch != 4); return 0; } ```

Use Quizgecko on...
Browser
Browser