Шрифт:
Интервал:
Закладка:
public static void Sort(Array keys, Array iterns) - Сортирует по нарастающей два заданных одномерных массива. Массив keys содержит ключи сортировки, а массив items — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку нарастания ключей
public static void Sort<TKey, TValue>(TKey[] keys, TV[] items) - Сортирует по нарастающей два заданных одномерных массива. Массив keys содержит ключи сортировки, а массив items — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей
public static void Sort(Array keys, Array items, Icomparer comparer) - Сортирует по нарастающей два заданных одномерных массива, используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей
public static void Sort<TKey, TValue>(TKey[] keys, TValue[] items, IComparer<TKey> comparer) - Сортирует по нарастающей два заданных одномерных массива, используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей
public static void Sort(Array array, int index, int length) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length. Массив должен быть одномерным
public static void Sort<T>(T[] array, int index, int length) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length. Массив должен быть одномерным
public static void Sort (Array array, int index, int length, IComparer comparer) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром v. Массив должен быть одномерным
public static void Sort<T>(T[] array, int index, int length, Icomparer<T> comparer) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [ index], и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив должен быть одномерным
public static void Sort(Array keys, Array items, int index, int length) - Сортирует по нарастающей два одномерных массива в.заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей
public static void Sort<TKey, TValue>(TKey[] keys, TValue[] items, int index, int length) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей
public static void Sort(Array keys, Array items, int index, int length, IComparer comparer) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив items — значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей
public static void Sort<TKey, TValue>(TKey[] keys, TV items, int index, int length, Icomparer<TKey> comparer) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки,,а массив items — значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары .“ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей
public static bool TrueForAll<T>(T[] array, Predicate<T> match) - Возвращает логическое значение true, если все элементы массива array удовлетворяют условию предиката, задаваемого параметром match. Если один или более элементов этого массива не удовлетворяют заданному условию, то возвращается логическое значение false
Сортировка и поиск в массивахСодержимое массива нередко приходится сортировать. Для этой цели в классе Array предусмотрен обширный ряд сортирующих методов. Так, с помощью разных вариантов метода Sort() можно отсортировать массив полностью или в заданных пределах либо отсортировать два массива, содержащих соответствующие пары "ключ-значение". После сортировки в массиве можно осуществить эффективный поиск, используя разные варианты метода BinarySearch(). В качестве примера ниже приведена программа, в которой демонстрируется применение методов Sort() и BinarySearch() для сортировки и поиска в массиве значений типа int.
// Отсортировать массив и найти в нем значение.
using System;
class SortDemo {
static void Main() {
int[] nums = { 5, 4, 6, 3, 14, 9, 8, 17, 1, 24, -1, 0 };
// Отобразить исходный порядок следования.
Console.Write("Исходный порядок следования: ");
foreach(int i in nums)
Console.Write(i + " ") ;
Console.WriteLine();
// Отсортировать массив.
Array.Sort(nums);
// Отобразить порядок следования после сортировки.
Console.Write("Порядок следования после сортировки: ");
foreach(int i in nums)
Console.Write(i + " ");
Console.WriteLine();
// Найти значение 14.
int idx = Array.BinarySearch(nums, 14);
Console.WriteLine("Индекс элемента массива со значением 14: " + idx) ;
}
}
Вот к какому результату приводит выполнение этой программы.
Исходный порядок следования: 5 4 6 3 14 9 8 17 1 24 -1 0
Порядок следования после сортировки: -1 0 1 3 4 5 6 8 9 14 17 24
Индекс элемента массива со значением 14: 9
В приведенном выше примере массив состоит из элементов типа int, который относится к категории типов значений. Все методы, определенные в классе Array, автоматически доступны для обработки массивов всех встроенных в C# типов значений. Но в отношении массивов ссылок на объекты это правило может и не соблюдаться. Так, для сортировки массива ссылок на объекты в классе типа этих объектов должен быть реализован интерфейс IComparable или IComparable<T>. Если же ни один из этих интерфейсов не реализован в данном классе, то во время выполнения программы может возникнуть исключительная ситуация в связи с попыткой отсортировать подобный массив или осуществить в нем поиск. Правда, реализовать оба интерфейса, IComparable и IComparable<T>, совсем нетрудно.
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков - Программирование
- Гибкое управление проектами и продуктами - Борис Вольфсон - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда - Прочая околокомпьтерная литература / Интернет / Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование