大象传媒

Data structures - arrays

Sometimes a programmer needs to store a lot of related . For example, a game might record the scores achieved by players.

One way to do this would be to declare a for each score. So for ten scores, the game program would require ten variables:

score1

score2

score3

And so on, up to score10

While certainly possible, this is not a practical method of recording such data. Suppose the program needed to record 100 scores? 100 variables would be required!

A better method to solve the problem above is to use an . An array is a data structure that holds similar, related data. An array is like a collection of boxes, each of which is called an . Each element has a position in the array, and can hold a value. The data in an array must all be of the same .

This way, all data is stored under one . For example, the array called 鈥渟core鈥 could contain the following information:

0123456789
100110858092726698100120
0100
1110
285
380
492
572
666
798
8100
9120

Declaring an array

Before an array can be used, it must be declared. To declare an array a programmer gives it at least two properties:

  • an identifier
  • a size - the number of elements it will hold

For example, in Visual Basic:

Dim score(9) As Integer - would declare an array with ten elements (zero to nine), where each element would store an .

Once declared, the name and structure of an array cannot be changed.

It is possible to declare an array without setting the size first. This is called a . To use a dynamic array, data must be added to the end of the array, or a new size set each time more data is added.

In , declaring an array before use is not needed.

Assigning values to an array

Values are assigned to an element in an array by referring to the element's position. For example:

score[0] 鈫 100 - would assign the value 100 to the first element in the array

Values in elements can be overwritten at any point, simply by assigning another value to that element.

Using arrays to structure data

Retrieving values from an array

Values are retrieved from an element in the array by again referring to the element's position, eg:

OUTPUT score[7] - would display the eighth value held in the array. In the above example, the value would be 98.

Two-dimensional arrays

A two-dimensional array can hold more than one set of data. This type of array is like a table, with data held in rows and columns.

The following array would hold ten scores for two players. The first player (0) has data stored in the first row. The second player (1) has data stored in the second row.

0123456789
0100110858092726698100120
1909910288781006712088105
0
0100
1110
285
380
492
572
666
798
8100
9120
1
090
199
2102
388
478
5100
667
7120
888
9105

A two-dimensional array is declared using two values - the number of rows and the number of columns. For example:

array score [1,9] - would give an array with two rows and ten columns

Data is assigned or retrieved by referring to an element's row and column number. For example:

score[0,1] 鈫 110

print(score[1,4]) - would display the score 78