Eduqas A-Level Computer Science A500QS
Data Structures: Arrays, Records and Hash Tables
Stacks, Queues, Linked Lists and Trees
Boolean Logic and Simplification
Algorithms, Pseudo-Code and Programming Constructs
Variables, Scope, Parameters and Identifiers
Recursion and Modular Programming
Sorting Algorithms
Searching and Shortest-Path Algorithms
Big O Notation and Algorithm Efficiency
Validation, Verification and Testing
Data Compression
Programming Paradigms and Computer Languages
Systems Analysis, Maintenance and Documentation
System Design and Human-Computer Interaction
Software Engineering Tools and Translators
Computing, Society and the Law
Computer Architecture, the Processor and Assembly Language
Input, Output and Secondary Storage
Networks, Protocols and the Internet
Data Transmission and Network Performance
Number Systems and Binary Arithmetic
Data Types, Characters and Floating Point
Files, Records and File Organisation
Databases, Normalisation and Entity Modelling
SQL, Big Data and Distributed Systems
The Operating System and Its Modes
Interrupts, Memory Management and Scheduling
Types of Software System
Data Security, Cryptography and Attack
Stacks, Queues, Linked Lists and Trees
Implementing a stack in an array
- 3 things to know
- Component 1
Overview
How two stacks can share a single array and operations a stack must provide as an abstract data type.
What you need to know
Answer each one before you reveal it.
Write pseudo-code for a push operation on an array-based stack.
Write pseudo-code for a pop operation on an array-based stack.
Questions from this subtopic
Each one with the model answer underneath.
- 1
How is a stack held in an array?
Model answer
A stack is held in a one-dimensional array with a separate integer acting as the stack pointer. Positions up to the pointer hold the current contents.
- 2
Write pseudo-code for a push operation on an array-based stack.
Model answer
The push is IF sp = maxSize THEN report overflow ELSE sp = sp + 1 and stack[sp] = item. The END IF closes the selection.
- 3
Write pseudo-code for a pop operation on an array-based stack.
Model answer
The pop is IF sp = 0 THEN report underflow ELSE item = stack[sp] and sp = sp − 1. The removed value is returned in item.
- 4
Why must an array-based stack have a maximum size?
Model answer
The array is declared with a fixed number of elements. A push beyond the last element would write outside the array.
- 5
Why is a popped value not erased from the array?
Model answer
The stack pointer alone decides which elements belong to the stack. Any value left above the pointer is simply overwritten by the next push.
- 6
State the value of the stack pointer when the stack is empty and positions are numbered from one.
Model answer
The stack pointer holds zero when the stack is empty. The first push moves the pointer to position one.
Other ways to work this
The same content, four other ways.
What is inside Levo
Six ways to work the same material.
Every question in Stacks, Queues, Linked Lists and Trees, on a schedule.
Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.
Or £46 a year, about £3.83 a month. Cancel anytime.