# DataStructures

'Data Structures: starting to designing your program'

# Introduction

If your data structures effectively represent your area of modelling interest, the logic and control flow of your code will be naturally constrained and hence simpler and more robust to bugs.

svn co http://soutce.ggy.bris.ac.uk/subversion-open/data-structures/trunk ./data-structures

less like this...
..and more like this.

# Stacks

cd examples/example1
make
./simple-stack.exe

• The deliberately constrained nature of the stack gives elements a natural order.
• Elements added early remain in the stack the longest.
A Stack.., in this case of boxes.

cd ../example2
make
./simple-LL.exe

• Can grow with more data
• Can insert items in the middle of the list (e.g. can store items in order which arrive out of order)
A train--of knitted pigs--is much like a linked list.

# Hash Tables

cd examples/example1
make
./simple-hash.exe

• Must manage potential collisions.
A hash table mapping names to phone numbers.