Advertisements
Advertisements
Question
A double ended queue is a linear data structure which enables the user to add and remove integers from either ends i.e., from front or rear.
The details for the class deQueue are given below:
| Class name | deQueue |
|
Data members/instance variables: |
|
| Qrr[] | array to hold integer elements |
| lim | maximum capacity of the dequeue |
| front | to point the index of the front end |
| rear | to point the index of the rear end |
|
Methods/Member functions: |
|
| deQueue(int 1) | constructor to initialise lim = 1, front = 0 and rear =0 |
| void addFront(int v) | to add integers in the dequeue at the front end if possible, otherwise display the message “OVERFLOW FROM FRONT” |
| void addRear(int v) | to add integers in the dequeue at the rear end if possible, otherwise, display the message “OVERFLOW FROM REAR” |
| int popFront() | removes and returns the integers from the front end of the dequeue if any, else returns — 999 |
| int popRear ( ) | removes and returns the integers from the rear end of the dequeue if any, else returns — 999 |
| void show( ) | displays the elements of the dequeue |
Specify the class deQueue giving details of the function void addFront(int) and int popFront(). Assume that the other functions have been defined. The main() function and algorithm need NOT be written.
Advertisements
Solution
class deQueue
{
int Qarr[];
int lim;
int front;
int rear;
public deQueue(int l)
{
lim=l;
front=-1;
rear=-1;
Qarr[]=new Qarr[l];
}
public void addFront(int v)
{
if((front=0 && rear=lim-1) || (front=rear+1))
System.out.println(“Overflow from front”);
else if((front=-1) && (rear=-1))
{ front=rear=0;
Qarr{front]=v;
}
else if (front=0)
{ front=lim-1;
Qarr{front]=v;
}
else
{
front=front-1;
Qarr[front]=v;
}
}
public void popFront()
{
if((front=-1) &&c (rear=-1))
{
System.out.println(“Deque is empty”);
}
else if(front=rear)
{
System.out.println(“The deleted element is :”,
Qarr[front]);
front=-1;
rear=-1;
}
else if(front=(size-1))
{
System.out.println(“The deleted element is :",
Qarr[front]);
front=0;
}
else
{
System.out.println(“The deleted element is :",
Qarr[front]);
front=front+1;
}
}
}APPEARS IN
RELATED QUESTIONS
Write an algorithm to find smallest element in an Array.
Define:
(i) Tree
(ii) Binary Tree
(iii) Extended Binary
Write an algorithm for Binary Search Method. Explain algorithm with suitable example.
With suitable example explain how tree can be represented in Memory?
What is Linked List?
What is a Record ? How it is represented in Memory ?
Explain with flowchart the following control structure : Selection Logic
Explain with flowchart the following control structure : Iteration Logic
Explain Bubble Sort Algorithm with. suitable example.
write difference between Linear Search and Binary Search.
Define the following term with reference to Tree:
Leaf
Define the following terms with reference to Tree : Sibling
Explain Linear data Structure and Non-linear Data Structure.
Explain how records are represented in memory using an array?
___________ is very useful in situation when data is to be stored and retrieved in reverse order.
Write two features of each of doto structures:
1) Record
2) Linear array
3) Linked list
Explain memory representation of linked list with example.
Differentiate between a stack and a queue.
