# Data Structures

## Arrays

Arrays are lists of values that are grouped together. When we group data items together like this they are treated as one set of data and referred to as a data structure. In an array, all items should be the same data type.

One-dimensional Arrays

Here is an example of a 1-dimensional array.

primes ← [ 2, 3, 5, 7, 11, 13 ]

This array has 6 elements consisting of the first 6 primes. We can find out the length of an array using:

LEN(primes)

Having an array like this allows us to store lots of different values in one variable.

Here for example we can get the number 5 using:

primes[2]

The number inside the square brackets shows the index (position) of the value we want to get from the array primes. Notice that the number 5 is in index 2. This is because the first element in an array is in index 0.

We can also use this technique to update values in an array using this

primes[5] ← 17

Array is now [ 2, 3, 5, 7, 11 ,17 ]

Sometimes we want to create something that looks more like a table with multiple rows and columns. We can do this using a 2-dimensional array.

multiples ← [ [ 2, 4, 6, 8, 10 ], [ 3, 6, 9, 12, 15 ] ]

Here we have an array of arrays so we could visualise it like this:

If we wanted to get hold of a particular value, we can use a similar technique to the 1-dimensional array. This time, the first value tells us the ‘row’ and the second one tells us the ‘column’.

For example:

multiples[0][3] == 8, multiples[1][4] == 15

What are the values of the following:

multiples[0][0]
2
multiples[0][1]
4
multiples[0][4]
10
multiples[1][2] ==
9
multiples[1][3] ==
12

## Data Types

When we write programs, the data we use is stored in variables which often have to be declared. The information in each variable can be very different. For example you might have a variable called birth_date which holds a person’s date of birth or you could have a variable called age_of_dog which holds the age of somebody’s dog in years. They both are stored in variables but they have different data types – one is a piece of text and one is an integer (whole number).

When you set up a variable you must decide what data type it is.

But the ones you need to know are:

1. string – any amount of text (letters, numbers and symbols)
2. integer – a whole number
3. real – a number with a part after the decimal point
4. character – one single ‘character’ of a string i.e. a letter, number, symbol
5. boolean – True or False

What is the data type of the following variables?

age = 3
paid = True
boolean
name = 'George'
string
price = 1.50
real
gender = 'M'