Array: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
An '''array''' is composite data type that stores multiple values all of the same declared type, index accessed by a numeric [[array index]] which is computed at [[run time]]. By using a variable index, the array may be accessed for a not predetermined set of indices, during the run of the program.
An '''array''' is a composite data type, in the [[Collections|collection]] cathegory, that stores multiple values all of the same declared type, index accessed by a numeric [[array index]] which is computed at [[run time]]. By using a variable index, the array may be accessed for a not predetermined set of indices, during the run of the program.


The array has a lower bound, and an upper bound, beyond which it is [[illegal]] to access the array. The lower bound is in many [[programming languages]] fixed to either 0 ([[C]] and relatives) or 1 ([[Pascal]] and relatives), but the upper bound is always programmable. The size of the array is the distance from the lower bound to the upper bound and one extra. In all regular programming languages, the size of the array can be determined by the programmer at [[compile time]] or after. In many modern programming languages the size of the array may be computed and allocated at run time. In some programming languages also the lower bound may be specified by the programmer.
The array has a lower bound, and an upper bound, beyond which it is [[illegal]] to access the array. The lower bound is in many [[programming languages]] fixed to either 0 ([[C]] and relatives) or 1 ([[Pascal]] and relatives), but the upper bound is always programmable. The size of the array is the distance from the lower bound to the upper bound and one extra. In all regular programming languages, the size of the array can be determined by the programmer at [[compile time]] or after. In many modern programming languages the size of the array may be computed and allocated at run time. In some programming languages also the lower bound may be specified by the programmer.

Revision as of 13:25, 31 December 2007

An array is a composite data type, in the collection cathegory, that stores multiple values all of the same declared type, index accessed by a numeric array index which is computed at run time. By using a variable index, the array may be accessed for a not predetermined set of indices, during the run of the program.

The array has a lower bound, and an upper bound, beyond which it is illegal to access the array. The lower bound is in many programming languages fixed to either 0 (C and relatives) or 1 (Pascal and relatives), but the upper bound is always programmable. The size of the array is the distance from the lower bound to the upper bound and one extra. In all regular programming languages, the size of the array can be determined by the programmer at compile time or after. In many modern programming languages the size of the array may be computed and allocated at run time. In some programming languages also the lower bound may be specified by the programmer.

All values between (and including) the lower and the upper bound of the array may legally be accessed during the program run.

Examples

C

We wish to open a text file and compute letter frequency

FILE *any_text;
/* declare array */
int frequency[26]; 
/* declare a computed index */
int ch; 
 
any_text = fopen ("a_text_file.txt", "rt");
 
/* init the freq table: */
for (ch = 0; ch < 26; ch++) 
    frequency[ch] = 0;
 
ch = fgetc(any_text);
while (!feof(any_text)) 
    if (is_a_letter(ch))
        /* if a letter increase character slot in the freq table: */
        frequency[ch-'A'] += 1;

Computational metrics

Access is O(1), appending is O(1), and insertion is O(n).