1. Задача
В одной коробке лежит одна вещь. Но одна вещь у тебя бывает редко. Есть список покупок, ряд фотографий, очки в игре. Тебе нужно держать много значений вместе и при этом быстро находить любое из них.
2. Ряд пронумерованных коробок
Список (его ещё называют массивом) это ряд коробок, которые стоят вплотную друг к другу и по порядку. У каждой коробки есть номер позиции, поэтому можно указать ровно на одну из них. Номер позиции ещё называют индексом.
Одно удивляет новичков: позиции считают с 0, а не с 1. Первая коробка стоит на позиции 0, вторая на позиции 1, и так далее. Сначала это непривычно, но через день-другой привыкаешь.
3. Чтение по позиции
На коробку указывают по её номеру. list[0] это первое значение (на картинке выше это 7). list[2] это третье значение (9). Квадратные скобки значат «коробка на этой позиции». У каждой коробки есть номер, поэтому компьютер сразу открывает нужную и не перебирает по дороге остальные.
4. Твоя очередь (без кода)
Возьмём ряд с картинки: [7, 3, 9, 2, 6].
- Чему равно
list[1]? Ответ: 3 (вторая коробка). - Чему равно
list[4]? Ответ: 6 (пятая, последняя коробка). - Сколько всего коробок и какая позиция у последней? Ответ: коробок 5, последняя позиция 4. Последний номер всегда на единицу меньше количества коробок. Ошибка ровно на эту единицу стоит за огромным числом настоящих багов.
5. Главное
Список это много значений в пронумерованном ряду. Любое из них достают по позиции. Счёт идёт с 0, поэтому последняя позиция на единицу меньше длины списка. Почти всё, что ждёт тебя дальше (поиск нужного значения, сортировка по порядку и многое другое), это разные способы ходить по этим коробкам.
На LeetCode
Задачи на LeetCode пока нет, потому что код в этом уроке ещё не пишется. Почти каждая лёгкая задача на LeetCode даёт тебе массив, и чтение по номеру ячейки с нуля пригодится уже в уроках 7 и 10.
Ты читаешь как гость
Все бесплатные уроки открыты: читай и запускай. Бесплатный аккаунт отмечает пройденные уроки и показывает, где ты в курсе.