Массивы
Массив — это упорядоченная структура, индексированный набор связанных элементов.
Массив может быть представлен в виде последовательности: \(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
Ссылки: