GATE CSE
First time here? Checkout the FAQ!
x
+2 votes
79 views

How it is 24? I'm not getting it.

asked in DS by Loyal (3.7k points)   | 79 views
I too think 12 is correct

2 Answers

0 votes

I think the answer is 24. 

If we see, there will be only three elements after all the operations which may prompt us to think the size of the stack is =12 bytes (3*4 bytes) .

But STACK is a static data structure  and hence needs to allocate space for all the numbers even if they are not present in the stack simultaneouly. 

Here , numbers are  - 5 5 6 6 7 8  (Consider them as block of memory rather than nummbers )

So, size of the  datastructure will be = 6* 4 Bytes= 24 Bytes 

PUSH and POP operations doesn't allocate or free memory . They are simply the  Increment/decrement of Stack Pointer.

answered by (295 points)  
if this is the case then we have atmost 4 elements.

push(5) push(6) push(7) pop push(6) push(8) pop pop push(5)

then 4*4=16

isn't it?

 

and other thing if we use linked list instead of array then what will be size??

There will be six elements after the above set of operations. So size of stack is 24. Max reports the maximum element in stack and will not remove it. And Stack need not be a static data structure. If Stack is implemented using a linked list then it can grow dynamically. PUSH operation will create a node, allocate memory to it and then add it to the stack. If so each node will also contain a pointer which will consume some memory. But no such condition is mentioned in the question and hence can be ignored.

0 votes

Ans b) 24

There will be six elements after the above set of operations. So size of stack is 24. Max reports the maximum element in stack and will not remove it. And Stack need not be a static data structure. If Stack is implemented using a linked list then it can grow dynamically. PUSH operation will create a node, allocate memory to it and then add it to the stack. If so each node will also contain a pointer which will consume some memory. But no such condition is mentioned in the question and hence can be ignored.

answered by Active (1.7k points)  
Top Users Jan 2017
  1. Debashish Deka

    9872 Points

  2. sudsho

    5596 Points

  3. Habibkhan

    5498 Points

  4. Bikram

    5350 Points

  5. Vijay Thakur

    4508 Points

  6. Arjun

    4458 Points

  7. Sushant Gokhale

    4410 Points

  8. saurabh rai

    4236 Points

  9. santhoshdevulapally

    3906 Points

  10. Kapil

    3892 Points

Monthly Topper: Rs. 500 gift card

19,481 questions
24,260 answers
54,210 comments
20,405 users