Oxford AQA International A-level · Computer Science (9645)

Stacks: Practice Questions

5 multiple-choice questions marked as you go, and 5 written questions with worked solutions. All on Stacks.

10 questions23 marksFree, no account
Question 1
1 mark

In the context of a stack data structure, what is the term used for the operation of adding an item to the top of the stack?

Question 2
1 mark

Which of the following computational tasks is most appropriately solved using a stack data structure?

Question 3
1 mark

Consider two common scenarios: (i) Processing function calls and local variables during program execution, and (ii) Handling data requests sent to a shared server that processes them sequentially based on arrival time. Which data structures are most suitable for (i) and (ii) respectively?

Question 4
1 mark

A stack is initially empty. The following operations are performed in sequence:
1. Push(10)
2. Push(20)
3. Pop
4. Push(30)
5. Peek
What value is returned by the Peek operation?

Question 5
1 mark

An empty stack S is manipulated using the following operations:
1. Push(A)
2. Push(B)
3. Pop()
4. Push(C)
5. Peek()
6. Pop()
If the Peek operation returns the value at the top without removing it, what is the final state of the stack (from bottom to top)?

Question 6
2 marks

Define the principle governing the operation of a Stack data structure and name the primary pointer used to track its active end.

Write your answer out first, then check it against the worked solution.

Question 7
3 marks

Explain the role of the 'peek' operation on a stack, and how it differs functionally from the 'pop' operation.

Write your answer out first, then check it against the worked solution.

Question 8
5 marks

When implementing a stack using a fixed-size array represented by STACK[0..N-1], and a stack pointer Top that points to the most recently added item, what precise condition must be met to test if the stack is full?

Write your answer out first, then check it against the worked solution.

Question 9
3 marks

A stack is implemented using an array with a maximum capacity of 5. The stack currently contains the elements ['A', 'B', 'C'] where 'C' is the top of the stack.

(a) Define the term LIFO (Last-In, First-Out) in the context of a stack data structure.

(b) Describe the state of the stack contents (the list of elements) and identify the new top element after the following sequence of operations:
1. PUSH ('D')
2. PUSH ('E')
3. POP()
4. PUSH ('F')

Write your answer out first, then check it against the worked solution.

Question 10
5 marks

When a subroutine is called, data is temporarily stored in a stack frame on the system stack.

(a) State two distinct types of data, other than parameters and return addresses, that may be stored in a stack frame when a subroutine is executed.

(b) Explain the importance of storing the return address within the stack frame during subroutine execution.

(c) Contrast the scope of a local variable defined within a subroutine with that of a global variable.

Write your answer out first, then check it against the worked solution.

* The content provided by thinka is generated by AI and may not always be accurate or up-to-date. Please use it as a supplementary resource and verify with official materials.

You've seen the model answer. Now get yours marked.

This page can show you how a good answer looks. It cannot tell you what your answer was missing. thinka marks your written work against the real mark scheme in about 15 seconds.

Want more questions like these? Get a fresh set on this topic, graded as you go.

Practice More