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

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

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

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

При пометке вопроса этим тегом также пометьте вопрос используемым языком программирования.

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

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

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

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

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

Массивы могут быть статически или динамически размещены. Способ доступа к массиву и его тип зависит от как это объявлено и выделено.

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

Список литературы

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

Там, где говорят о конкретных вариантах массивов, используйте вместо них следующие связанные теги: