1
GATE CSE 2012
MCQ (Single Correct Answer)
+2
-0.6
Suppose a circular queue of capacity (n – 1) elements is implemented with an array of n elements. Assume that the insertion and deletion operations are carried out using REAR and FRONT as array index variables, respectively. Initially, REAR = FRONT = 0. The conditions to detect queue full and queue empty are
A
full: (REAR+1)
mod n == FRONT
empty: REAR == FRONT
B
full: (REAR+1)
mod n == FRONT
empty: (FRONT+1)
C
full: REAR == FRONT
empty: (REAR + 1)
mod n == FRONT
D
full: (FRONT+1)
mod n == REAR
empty: REAR == FRONT
2
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
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
3
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
The following postfix expression with single digit operands is evaluated using a stack: 8 2 3 ^ / 2 3 * + 5 1 * - Note that ^ is the exponentiation operator. The top two elements of the stack after the first * is evaluated are:
A
6, 1
B
5, 7
C
3, 2
D
1, 5
4
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
Consider the following C program:
#include 
#define EOF -1 
     void push (int); /* push the argument on the stack */ 
     int pop (void); /* pop the top of the stack */ 
     void flagError (); 
     int main () { 
       int c, m, n, r; 
       while ((c = getchar ()) != EOF) { 
         if (isdigit (c) ) 
           push (c); 
         else if ((c == '+') || (c == '*')) { 
           m = pop (); 
           n = pop (); 
           r = (c == '+') ? n + m : n*m; 
           push (r); 
         } else if (c != ' ') 
           flagError (); 
       } 
       printf("% c", pop ()); 
    } 
What is the output of the program for the following input ? 5 2 * 3 3 2 + * +
A
15
B
25
C
30
D
150
GATE CSE Subjects
Software Engineering
Web Technologies
EXAM MAP
Medical
NEETAIIMS
Graduate Aptitude Test in Engineering
GATE CSEGATE ECEGATE EEGATE MEGATE CEGATE PIGATE IN
Civil Services
UPSC Civil Service
Defence
NDA
Staff Selection Commission
SSC CGL Tier I
CBSE
Class 12