Chapter 2.2 Questions

Before we start building

If you don't know how to program, then I don't know what you are doing here. Go learn a language. I recommend Python or Ruby. I will be solving all of the problems I run by you in Python. If you want to learn something else, go here and type in "Learn" and your language:

The best programming resource

Here are some resources for Python:

Static arrays

A static array means that it can only hold a certain number of items. A dynamic array resizes automatically. Your first task is to build a static array. You can use your languages built in methods. Build a dynamic array class, where you can:

Think about how you are going to deal with pushing when the array is full, popping when the array is empty, viewing when the array is empty/the index is out of range.

Dynamic arrays

A dynamic array means that it can only any number items. A dynamic array resizes automatically. But to make it more challenging, you should build your dynamic array on top of your static array. It should still be able to pop, push, and view.

Queue

A queue is a dynamic array, where you can only pop off the front, view the item in front, and add to the back. AS YOU SHOULD KNOW. Build a queue. It should have pop, view (you can also call it peek), and push. But it should follow queue rules.

Stack

A stack is a dynamic array, where you can only pop off the front, view the item in front, and add to the front....you get it. Build a stack. It should have the same funcations as a queue.