# DATA STRUCTURE Presented By: Mahmoud Rafeek Alfarra Using C# MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE.

## Presentation on theme: "DATA STRUCTURE Presented By: Mahmoud Rafeek Alfarra Using C# MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE."— Presentation transcript:

DATA STRUCTURE Presented By: Mahmoud Rafeek Alfarra Using C# MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE Information Technology, 3’rd Semester Lecture 11: Queue

Outline  What is Queue?  What is the main Queue’s Operations?  Queue implementation  Queue’s application  Circular Queue  Emank X Mezank !!

What is Queue?  A queue is a data structure where data enters at the rear of a list and is removed from the front of the list.  Queues are an example of a first-in, first-out (FIFO) data structure. 3 Presented & Prepared by: Mahmoud R. Alfarra

What is Queue?  We define a Queue as a list of items that are added only into the end of the list (rear) and removed from the front of list (front) 4 Presented & Prepared by: Mahmoud R. Alfarra FrontRear

What is the main Queue’s Operations? 5 Presented & Prepared by: Mahmoud R. Alfarra  The two primary operations involving queues are adding a new item to the queue, removing an item from the queue and viewing the first item.  The operation for adding a new item is called Enqueue.  The operation for removing an item from a queue is called Dequeue.  The Peek method is used to view the beginning item. (simply returns the item)

6 Presented & Prepared by: Mahmoud R. Alfarra What is the main Queue’s Operations?

Queue implementation 7 Presented & Prepared by: Mahmoud R. Alfarra  We’ll implement the Queue as a class, called CQueue.  The items of this Queue are objects of class list( car, table, …)  This means that, the implementation of Queue as the linked list and differ just in the operations.

Queue’s application 8 Presented & Prepared by: Mahmoud R. Alfarra  Queues are used to store items in the order in which they occur.  Queues are used to order processes submitted to an operating system or a print spooler, and simulation applications use queues to model customers waiting in a line.

Queue’s application 9 Presented & Prepared by: Mahmoud R. Alfarra  Information packets also wait in queues in computer networks.  Each time a packet arrives at a network node, the routing node must route it to the next node on the network along the path to the packet’s final destination. The routing node routes one packet at a time, so additional packets are enqueued until the router can route them.

Array Implemented : Array Implemented :False-Overflow Issue First 10 Presented & Prepared by: Mahmoud R. Alfarra  Suppose 50 calls to enqueue have been made, so now the queue array is full  Assume 4 calls to dequeue( ) are made  Assume a call to enqueue( ) is made now. The rear part seems to have no space, but the front has 4 unused spaces; if never used, they are wasted. 01247484934 01247484934 RearFront

Solution: A Circular Queue 11 Presented & Prepared by: Mahmoud R. Alfarra  Allow the head (and the rear) to be moving targets  When the rear end fills up and front part of the queue has empty slots, new insertions should go into the front end  Next insertion goes into slot 0, and rear tracks it. The insertion after that goes into a lot 1, etc. 012474849 Frontrear 34

Illustration of Circular Queues 12 Presented & Prepared by: Mahmoud R. Alfarra  Current state:  After One Call to enqueue() 01247484934 rear Front 01247484934 rearFront 01247484934 Frontrear

Numeric for Circular Queues 13 Presented & Prepared by: Mahmoud R. Alfarra  Front increases by (1 modulo size) after each dequeue( ).  Front = (Front+1) % size;  Rear increases by (1 modulo size) after each enqueue( ):  Rear= (Rear +1) % size;

Emank X Mezank !! أعظم أسبـاب النجاة استعن بالله

Next Lecture Examples (Discovering other operations)

Download ppt "DATA STRUCTURE Presented By: Mahmoud Rafeek Alfarra Using C# MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE."

Similar presentations