Массив является заказанной структурой данных, состоящей из набора элементов (значения, переменные или ссылки), каждый определенный одним или несколькими индексами. Спрашивая об определенных вариантах массивов, используйте эти связанные теги вместо этого: [вектор], [arraylist], [матрица]. Когда использование этого тега, в вопросе, который характерен для языка программирования, отмечает вопрос с используемым языком программирования.

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

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

На некоторых языках (C, Java, и т.д.) длина массива должна быть установлена заранее. На других языках (Ruby, Python, LISP, Haxe, и т.д.) длина массива растет динамично, поскольку добавляются элементы.

Когда метки вопроса с этим тегом, также, отмечают вопрос с используемым языком программирования.

Массив на определенных языках

  • Массивы C# являются на самом деле объектами и не только адресуемыми регионами непрерывной памяти как в C и C++. Массив является абстрактным типом всех типов массива. Можно использовать свойства и других членов класса базового типа Массива.
  • C выстраивает действие к связанным с хранилищем данным под единственным именем переменной с индексом, также известным как нижний индекс. Они хранятся в главном строкой порядке, что означает, что последний нижний индекс варьируется самый быстрый. Является самым легким думать о массиве как просто список или заказанная группировка для переменных того же типа. По сути, массивы часто помогают программисту организовать наборы данных эффективно и интуитивно.
  • C++ наследовал необработанные массивы от C и добавляет его собственный класс массива std::array поскольку время компиляции выстраивает размеры, std::vector для динамических размерных массивов во время выполнения. Это также имеет реализации интеллектуального указателя как std::unique_ptr, std::shared_ptr.
  • Objective C наследовал необработанные массивы от C и добавляет его собственный класс массива NSArray и NSMutableArray для динамических массивов.
  • Нормальный класс массива Ruby называют array.
  • В Python нормальный тип данных Array называют a list, в то время как array тип используется для гомогенных массивов.
  • В NumPy существует мощный N-мерный массив со многими возможностями.
  • Массивы PHP реализованы как заказанные карты, которые могут содержать соединение числовых или строковых ключей.
  • Массивы JavaScript являются просто объектами с другим прототипом (с дополнительными функциями, более полезными для подобных массиву структур), с числовыми индексными значениями, сохраненными как строки (все ключи JavaScript являются строками). В отличие от других объектов, Вы не можете использовать запись через точку для ключей доступа - только нотация квадратной скобки.
  • В Haxe Массив имеет один параметр типа, который соответствует типу набора элементов. Массивы могут быть созданы с помощью их конструктора new Array() или [1, 2, 3], но также и использование понимания Массива: [for (i in 0...10) if (i % 2 == 0) i]. Для устройства хранения данных фиксированного размера абстрактный тип haxe.ds.Vector может использоваться, который может быть быстрее, чем Массив на некоторых целях и никогда не медленнее.
  • В Scala называют нормальный класс массива Array. Для получения элемента от массива, Вы используете круглые скобки (большинство языков использует квадратные скобки).
  • В Java массив является контейнерным объектом, который содержит постоянное число значений единственного типа. Длина массива устанавливается, когда массив создается. После создания фиксируется его длина.
  • В Perl переменные типа массив обозначены с @ префикс и массивы объявляются с круглыми скобками. Замена префикса с $# возвращает последний индекс.
  • В Ржавчине массивы являются группами данных того же типа, которые непрерывны в памяти, таким образом, они могут использоваться при общении с C. Длина массива фиксируется.
  • В Быстром, массив, который включает заданные значения, автоматически выводя тип Элемента массива. Быстро помогает создать массивы в Вашем коде с помощью литерала массивов: просто окружите разделенный запятыми список значений с квадратными скобками.

Характеристики

Элементы массива обычно указываются с 0 первыми индексами, например, myarray[0] представил бы первый элемент myarray. myarray[l] (где l длина массива минус, 1) представил бы последний элемент в массиве. Однако некоторые языки, такие как старый Фортран и Lua используют 1 в качестве начального индекса.

Некоторые языки (C++, Java, C#) имеют "основные массивы" и наборы. Основные массивы поддерживаются компилятором непосредственно, имеют фиксированный размер и только обеспечивают доступ элемента индексом. Наборы, как Java ArrayList, классы системной библиотеки, реализованные на вершине этих основных массивов, и имеют широкий спектр различных методов. В таких случаях тега должны использоваться для именования простых массивов.

Массивы могут быть статически выделены или динамично выделены. Путь, которым Вы получаете доступ к массиву и его типу, варьируется на основе того, как он объявляется и выделяется.

Массивы могут содержать несколько индексов. Например, массив с одним индексом (например. array[0]) известен как одномерный массив. Если это имеет два индекса (например. array[0][0]) это считают двумерным и возможно визуализируемым как сетка. Многомерные массивы, или, другими словами, массивы с несколькими индексами называют матрицами, или матрица особена.

Ссылки

Связанные теги

Где, говоря об определенных вариантах массивов, используйте эти связанные теги вместо этого: