levo

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.

Your recallNot started
Key term

How is a stack held in an array?

Key term

Write pseudo-code for a push operation on an array-based stack.

Key term

Write pseudo-code for a pop operation on an array-based stack.

Questions from this subtopic

Each one with the model answer underneath.

  1. 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. 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. 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. 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. 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. 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.

1Closed book
2Open book
3Closed book

The 3-step method, run for you

Answer cold, learn it, then prove it stuck. Levo tracks the jump between your first attempt and your last.

Data Structures: Arrays, Records and Hash Tables
Stacks, Queues, Linked Lists and Trees
Boolean Logic and Simplification
Algorithms, Pseudo-Code and Programming Constructs

Cram a whole paper in one sitting

Sort every topic into what you know and what you do not, then drill only the weak ones.

KDW to HAT.
decryptsencryptscompresses

Blank Blitz makes facts automatic

Rapid timed gap-fills on the terms and numbers you need to recall without thinking.

AThe two are not the same.
BOpen source refers to the availability of the code.
CMuch open source software is free of charge.

Build It gets the exam shape right

Assemble a full-mark answer from its marking points, in the order an examiner wants them.

Backup means the copy of the data.
TrueFalse

Test It catches misconceptions

Spot the fault in a statement. The traps are the mistakes students actually make.

721941163128510

Brain Breaks between sessions

Short focus games to reset attention, so the next set lands better than the last.

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.