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

Hash clash, Q. What do you understand by the term by hash clash? Explain in...

Q. What do you understand by the term by hash clash? Explain in detail any one method to resolve the hash collisions.

Various passes of bubble sort, Q. Show the various passes of bubble sort on...

Q. Show the various passes of bubble sort on the unsorted given list 11, 15, 2, 13, 6           Ans: The given data is as follows:- Pass 1:-     11   15   2     13

Definitions of graph, A graph G might be defined as a finite set V of verti...

A graph G might be defined as a finite set V of vertices & a set E of edges (pair of connected vertices). The notation utilized is as follows: Graph G = (V, E) Consider the g

Design a binary search tree, Binary Search Tree usage: Write a progra...

Binary Search Tree usage: Write a program to compare the time taken for a search in a skewed tree, a balanced tree, and a random tree. Speci cally, your program should do the

Binry trees, Build a class ?Node?. It should have a ?value? that it stores ...

Build a class ?Node?. It should have a ?value? that it stores and also links to its parent and children (if they exist). Build getters and setters for it (e.g. parent node, child n

Graph & optimal scheduling, You are given an undirected graph G = (V, E) in...

You are given an undirected graph G = (V, E) in which the edge weights are highly restricted. In particular, each edge has a positive integer weight of either {1,2,...,W}, where W

Explain the halting problem, Explain the halting problem Given a comput...

Explain the halting problem Given a computer program and an input to it, verify whether the program will halt on that input or continue working indefinitely on it.

Splay trees, Addition of new records in a Binary tree structure always occu...

Addition of new records in a Binary tree structure always occurs as leaf nodes, which are further away from the root node making their access slower. If this new record is to be ac

Double linked list, In a doubly linked list, also called as 2 way list, eac...

In a doubly linked list, also called as 2 way list, each node is divided into 3 parts. The first part is called previous pointer field. It contains the address of the preceding

Tree structure, We would like to implement a 2-4Tree containing distinct in...

We would like to implement a 2-4Tree containing distinct integer keys. This 2-4Tree is defined by the ArrayList Nodes of all the 2-4Nodes in the tree and the special 2-4Node Root w

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