Implementation of queue, Data Structure & Algorithms

Assignment Help:

For a queue a physical analogy is a line at booking counter. At booking counter, customers go to the rear (end) of the line & customers are attended to several services from the front of the line. Unlike stack, customers are inserted at the rear end & deleted from the front end into a queue (FIFO).

In computer science, an instance of the queue is print jobs scheduled for printers. These jobs are maintained into a queue. The job fired for the printer first gets printed first. Similar is the scenario for job scheduling in the CPU of computer.

Like a stack, usually a queue also holds data elements of the similar type. Usually We graphically display a queue horizontally. Figure demonstrates a queue of 5 characters.

2141_IMPLEMENTATION OF QUEUE.png

        Figure: A queue of characters

In a queue the rule followed is that elements are inserted at the rear & come off of the front of the queue. After the insertion of an element to the above queue, the position of rear pointer alters as illustrated below. Now the rear is pointing to the new element 'g' added at the rear of the queue.

1597_IMPLEMENTATION OF QUEUE1.png

Figure: Queue of above figure after addition of new element

After the elimination of element 'a' from the front, the queue alters to the following along with the front pointer pointing to 'b'.

705_IMPLEMENTATION OF QUEUE2.png

Figure: Queue of figure 5.2 after deletion of an element

Algorithm for insertion of an element to the queue

Step 1: Create a new element to be inserted

Step 2: If the queue is empty, then go to

Step 3, else perform step 4

Step 3: Make the front & rear point this element

Step 4: Insert the element at the end of the queue and shift the rear pointer to the lately added element.

Algorithm for deletion of any element from the queue

Step 1: verify for Queue empty condition. If queue is empty, then go to step 2, else go to step 3

Step 2: Message "Queue Empty"

Step 3: Delete the element through the front of the queue. If in the queue it is the last element, then carry out step a else step b

a) make front & rear point to null

b) Shift the front pointer further on to point to the next element in the queue


Related Discussions:- Implementation of queue

Amortized algorithm analysis, In the amortized analysis, the time needed to...

In the amortized analysis, the time needed to perform a set of operations is the average of all operations performed. Amortized analysis considers as a long sequence of operations

Homework, Write a recursive function the computes the number of digits in a...

Write a recursive function the computes the number of digits in a positive integer n. For example if n = 6598, the function should return 4. Find a variant expression and a thresho

Determination of time complexity, Determination of Time Complexity The...

Determination of Time Complexity The RAM Model The random access model (RAM) of computation was devised through John von Neumann to study algorithms. In computer science,

Explain internal and external nodes, Explain Internal and External Nodes ...

Explain Internal and External Nodes  To  draw  the  tree's  extension  by  changing  the  empty  subtrees  by  special nodes. The  extra  nodes shown by little squares are know

Explain the rgb model, RGB Model The RGB model is based on the assumpti...

RGB Model The RGB model is based on the assumption that any desired shade of colour can be obtained by mixing the correct amounts of red, green, and blue light. The exact hues

Logic circuits, the voltage wave forms are applied at the inputs of an EX-O...

the voltage wave forms are applied at the inputs of an EX-OR gate. determine the output wave form

DAA, what do we use asymptotic notation in study of algorithm?Describe vari...

what do we use asymptotic notation in study of algorithm?Describe various asymptotic notation and give their significance.

Demonstration of polynomial using linked list, Demonstration of Polynomial ...

Demonstration of Polynomial using Linked List # include # include Struct link { Char sign; intcoef; int expo; struct link *next; }; Typedefstruct link

What are the dynamic arrays, What are the Dynamic arrays Dynamic arrays...

What are the Dynamic arrays Dynamic arrays are convenient for programmers since they can never be too small-whenever more space is needed in a dynamic array, it can simply be e

Breadth first search, While BFS is applied, the vertices of the graph are d...

While BFS is applied, the vertices of the graph are divided into two categories. The vertices, that are visited as part of the search & those vertices that are not visited as part

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd