adplus-dvertising
frame-decoration

Question

Suppose you are given an implementation of a queue of integers. The operations that can be performed on the queue are:

i. isEmpty (Q) — returns true if the queue is empty, false otherwise.
ii. delete (Q) — deletes the element at the front of the queue and returns its value.
iii. insert (Q, i) — inserts the integer i at the rear of the queue.
Consider the following function:

void f (queue Q) {
int i ;
if (!isEmpty(Q)) {
i = delete(Q);
f(Q);
insert(Q, i);
}
}

What operation is performed by the above function f ?

a.

Leaves the queue Q unchanged

b.

Reverses the order of the elements in the queue Q

c.

Deletes the element at the front of the queue Q and inserts it at the rear keeping the other elements in the same order

d.

Empties the queue Q

Answer: (b).Reverses the order of the elements in the queue Q

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. Suppose you are given an implementation of a queue of integers. The operations that can be performed on the queue are: i. isEmpty (Q) — returns true if the queue is empty,...

Similar Questions

Discover Related MCQs

Q. The following C declarations

struct node
{
int i;
float j;
};
struct node *s[10] ;

define s to be

Q. The most appropriate matching for the following pairs

X: m=malloc(5); m= NULL; 1: using dangling pointers
Y: free(n); n->value=5; 2: using uninitialized pointers
Z: char *p; *p = ’a’; 3. lost memory

is:

Q. The most appropriate matching for the following pairs

X: depth first search 1: heap
Y: breadth-first search 2: queue
Z: sorting 3: stack

is

Q. Consider the following nested representation of binary trees: (X Y Z) indicates Y and Z are the left and right sub stress, respectively, of node X. Note that Y and Z may be NULL, or further nested. Which of the following represents a valid binary tree?

Q. Let s be a sorted array of n integers. Let t(n) denote the time taken for the most efficient algorithm to determined if there are two elements with sum less than 1000 in s. which of the following statements is true?

a) t (n) is O(1)
b) n < t (n) < n log2n
c) n log 2 n < t (n) < (n/2)
d) t (n) = [/Tex]{n \choose 2} [/Tex]

Q. Aliasing in the context of programming languages refers to

Q. Consider the following C declaration

struct {
short s [5]
union {
float y;
long z;
}u;
} t;

Assume that objects of the type short, float and long occupy 2 bytes, 4 bytes and 8 bytes, respectively. The memory requirement for variable t, ignoring alignment considerations, is

Q. The number of tokens in the following C statement

printf("i = %d, &i = %x", i, &i);

is

Q. B+ trees are preferred to binary trees in databases because

Q. Suppose you are given an array s[1..n] and a procedure reverse (s, i, j) which reverses the order of elements in a between positions i and j (both inclusive). What does the following sequence do, where 1 <= k <= n:

reverse(s, 1, k) ;
reverse(s, k + 1, n);
reverse(s, l, n);

Q. Let LASTPOST, LASTIN and LASTPRE denote the last vertex visited in a postorder, inorder and preorder traversal, respectively, of a complete binary tree. Which of the following is always true?

Q. The value of j at the end of the execution of the following C program.

int incr(int i)
{
static int count = 0;
count = count + i;
return (count);
}
main()
{
int i,j;
for (i = 0; i <=4; i++)
j = incr(i);
}

Q. Randomized quicksort is an extension of quicksort where the pivot is chosen randomly. What is the worst case complexity of sorting n numbers using randomized quicksort?

Q. Consider any array representation of an n element binary heap where the elements are stored from index 1 to index n of the array. For the element stored at index i of the array (i <= n), the index of the parent is

Q. What is the minimum number of stacks of size n required to implement a queue of size n?

Q. What is printed by the print statements in the program P1 assuming call by reference parameter passing?

Program P1()
{
x = 10;
y = 3;
func1(y,x,x);
print x;
print y;
}
func1(x,y,z)
{
y = y+4;
z = x+y+z;
}

Q. Consider the following three C functions :

[PI] int * g (void)
{
int x= 10;
return (&x);
}

[P2] int * g (void)
{
int * px;
*px= 10;
return px;
}

[P3] int *g (void)
{
int *px;
px = (int *) malloc (sizeof(int));
*px= 10;
return px;
}

Which of the above three functions are likely to cause problems with pointers?

Q. Consider the following program

Program P2
var n: int:
procedure W(var x: int)
begin
x=x+1;
print x;
end

procedure D
begin
var n: int;
n=3;
W(n);
end
begin //beginP2
n=10;
D;
end

If the language has dynamic scoping and parameters are passed by reference, what will be printed by the program?

Q. In the C language

Q. The results returned by functions under value-result and reference parameter passing conventions