Array. Reverse Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Изменяет порядок элементов в одномерном массиве Array или в части массива Array на обратный.
Перегрузки
Изменяет порядок подмножества элементов в одномерном массиве Array на обратный.
Изменяет порядок элементов во всем одномерном массиве Array на обратный.
Изменяет порядок последовательности элементов в одномерном общем массиве на обратный.
Изменяет порядок последовательности подмножества элементов в одномерном общем массиве на обратный.
Reverse(Array, Int32, Int32)
Изменяет порядок подмножества элементов в одномерном массиве Array на обратный.
Параметры
Одномерный массив Array, порядок элементов которого нужно изменить на обратный.
Начальный индекс той части массива, порядок элементов которой необходимо изменить на обратный.
Число элементов в части массива, порядок которых нужно изменить на обратный.
Исключения
array имеет значение null .
Массив array является многомерным.
index меньше нижней границы массива array .
Значение параметра length меньше нуля.
index и length не указывают допустимый диапазон в array .
Примеры
В следующем примере кода показано, как отменить сортировку значений в диапазоне элементов в .Array
Комментарии
После вызова этого метода элемент по myArray[i] адресу , где i находится любой индекс в массиве, перемещается в папку myArray[j] , где j равно (myArray.Length + myArray.GetLowerBound(0)) — (i — myArray.GetLowerBound(0)) — 1 .
Этот Reverse метод можно использовать для обратного массива.
Этот метод является операцией O( n ), где n находится length .
Применяется к
Reverse(Array)
Изменяет порядок элементов во всем одномерном массиве Array на обратный.
Параметры
Одномерный массив Array, порядок элементов которого нужно изменить на обратный.
Исключения
array имеет значение null .
Массив array является многомерным.
Примеры
В следующем примере кода показано, как отменить сортировку значений в объекте Array.
Комментарии
После вызова этого метода элемент по myArray[i] адресу , где i находится любой индекс в массиве, перемещается в папку myArray[j] , где j равно (myArray.Length + myArray.GetLowerBound(0)) — (i — myArray.GetLowerBound(0)) — 1 .
Этот метод является операцией O( n ), где n находится Length . array
В F# вместо этого можно использовать функцию Array.rev .
Как показано в следующем примере, Reverse метод можно использовать для отмены массива. Он инициализирует массив с одним элементом для каждого месяца текущего года в календаре текущего языка и региональных параметров. Каждый элемент содержит массив с таким количеством элементов, сколько в этом месяце имеет дни. В примере отображается содержимое массива, вызывается Reverse метод, а затем отображается содержимое обратного массива.
Как вывести массив в обратном порядке без использования length
Создаётся массив целых чисел. Нужно вывести массив в обратном порядке.
У меня получается при помощи .length . Есть ли способ сделать это без .length , используя циклы for-each и арифметические действия?
Предположим, что у нас просто есть массив, созданный где-то и как-то (то есть доступа к num и процессу его формирования мы не имеем). А также что нельзя проводить сортировку массива (как оригинала, так и копии) и использовать другие структуры данных (списки, стеки и т.д.). И, конечно, нельзя использовать .length у массива.
Первый вариант. Вычисление длины массива вручную:
Вместо for-each можно воспользоваться обычным циклом в связке с ArrayIndexOutOfBoundsException .
Второй вариант. Использование рекурсии для вывода на экран (по предложению @etki) с ограничением рекурсии с помощью ArrayIndexOutOfBoundsException :
Метод reverse
Метод reverse изменяет порядок элементов в массиве на обратный.
Метод изменяет исходный массив (он станет перевернутым) и возвращает также перевернутый массив (можно пользоваться и так, и так).
Синтаксис
Пример
Давайте перевернем массив:
Результат выполнения кода:
Пример
А теперь давайте запишем перевернутый массив в новую переменную:
Результат выполнения кода:
Пример . Применение
Давайте перевернем символы строки в обратном порядке. Для этого разобьем строку в массив с помощью split по разделителю » (этот разделитель положит каждый символ строки в отдельный элемент массива), перевернем этот массив с помощью reverse и затем сольем перевернутый массив обратно с помощью join :