Массивы

Массив — это упорядоченная структура, индексированный набор связанных элементов.

Массив может быть представлен в виде последовательности: \(a_{0}, a_{1}, ..., a_{n}\), где \(n\) — целое положительное число, большее \(1\). Нижние подстрочные символы — это индексы. Одним из экземпляров этой общей последовательности является <a,e,i,o,u>. В этом случае \(n = 5\). Мы можем получить доступ к третьей гласной с помощью соответствующего индекса. Если мы назовем эту последовательность как \(V\), то \(V_{3} = i\) при условии, что индексация начинается с \(1\). Мы могли бы использовать такие обозначения, как V[3], V(3) или Third(V). Если индексация начинается с 0, тогда представление \(V_{2} = i\).

Различные языки программирования используют разные стили для представления массива. Чтение, а также изменение элемента по заданному индексу i занимает время O(1). Вставка элемента в i-ю позицию требует (n−i) сдвига и, следовательно, это O(n−i); аналогично удаление элемента по i-му индексу занимает O(n−i) времени. Вставка элемента в полный массив требует создания нового массива большей емкости, копирования всех элементов старого массива и вставки нового элемента.

val vowels = Array('a', 'e', 'i', 'o', 'u')
// vowels: Array[Char] = Array('a', 'e', 'i', 'o', 'u')
vowels(2)
// res0: Char = 'i'
val vowelsReversed = vowels.reverse
// vowelsReversed: Array[Char] = Array('u', 'o', 'i', 'e', 'a')
vowelsReversed(2)
// res1: Char = 'i'
vowels.length
// res2: Int = 5

Ссылки: