Иногда оказывается полезно обратить содержимое массива и, в частности, отсортировать по убывающей массив, отсортированный по нарастающей. Для такого обращения массива достаточно вызвать метод Reverse (). С его помощью можно обратить содержимое массива полностью или частично. Этот процесс демонстрируется в приведенной ниже программе.

// Обратить содержимое массива.

using System;

class ReverseDemo { static void Main() {

int[] nums = { 1, 2, 3, 4, 5 };

// Отобразить исходный порядок следования. Console.Write("Исходный порядок следования: ");

foreach(int i in nums)

Console.Write(i + " ");

Console.WriteLine ();

// Обратить весь массив.

Array.Reverse(nums);

// Отобразить обратный порядок следования.

Console.Write("Обратный порядок следования: "); foreach(int i in nums)

Console.Write (i + " ");

Console.WriteLine();

// Обратить часть массива.

Array.Reverse(nums, 1, 3);

// Отобразить обратный порядок следования.

Console.Write("Частично обращенный порядок следования: "); foreach(int i in nums)

Console.Write(i + " ");

Console.WriteLine();

}

}

Эта программа дает следующий результат.

Исходный порядок следования: 12 3 4 5 Обратный порядок следования: 5 4 3 2 1 Частично обращенный порядок следования: 5 2 3 4 1

Копирование массива

Полное или частичное копирование одного массива в другой — это еще одна весьма распространенная операция с массивами. Для копирования содержимого массива служит методСору(). В зависимости от его варианта копирование элементов исходного массива осуществляется в начало или в средину целевого массива. Применение методаСору() демонстрируется в приведенном ниже примере программы.

// Скопировать массив.    ^

using System;

class CopyDemo {

static void Main() {

int[] source ={1, 2, 3, 4, 5}; int[] target = { 11, 12, 13, 14, 15 }; int[] source2 = { -1, -2, -3, -4, -5 };

// Отобразить исходный массив.

Console.Write("Исходный массив: "); foreach(int i in source) •

Console.Write(i + " ");

Console.WriteLine ();

// Отобразить исходное содержимое целевого массива.

Console.Write("Исходное содержимое целевого массива: "); foreach(int i in target)

Console.Write(i,+ " ");

Console.WriteLine();

// Скопировать весь массив.

Array.Copy(source, target, source.Length);

// Отобразить копию.

Console.Write("Целевой массив после копирования: "); foreach(int i in target)

Console.Write(i + " ");

Console.WriteLine();

// Скопировать в средину целевого массива.

Array.Copy(source2, 2, target, 3, 2);

// Отобразить копию.

Console.Write("Целевой массив после частичного копирования: "); foreach(int i in target)

Console.Write(i + " ");

Перейти на страницу:

Похожие книги