ВУЗ:
Составители:
Рубрика:
127
список_обобщенных_типов := T1 [,T2, . . ., TN], Ti –
произвольный идентификатор обобщенного типа;
тип_функции – тип возвращаемого значения, в качестве которого
может быть указан как конкретный тип данных, так и один из списка
обобщенных типов;
список_параметров – список формальных параметров обобщенной
функции, которые могут быть описаны как с указанием конкретного типа
данных, так и одного типа из списка обобщенных типов.
Например, определим класс, который содержит методы сортировки
массивов различными способами. Для того чтобы можно было использовать
эти методы для сортировки массивов с различными типами элементов,
методы сортировки можно сделать обобщенными. В примере
продемонстрирована реализация алгоритма быстрой сортировки.
// класс, предназначенный для сортировки массивов
class Sorter
{
// оббобщенный метод быстрой сортировки массива
public static void Sort<T>(IMyComparer<T> comparer,
T[] items, int left, int right)
{
int i = left;
int j = right;
T center = items[(left + right) / 2];
// цикл упорядочивания элементов
// относительно элемента center
while (i <= j)
{
while (comparer.Greater(center, items[i]))
i++;
while (comparer.Greater(items[j], center))
j--;
if (i <= j)
{
T x = items[i];
items[i] = items[j];
items[j] = x;
i++;
j--;
}
}
// вызов метода сортировки элементов,
// расположенных слева от center
список_обобщенных_типов := T1 [,T2, . . ., TN], Ti – произвольный идентификатор обобщенного типа; тип_функции – тип возвращаемого значения, в качестве которого может быть указан как конкретный тип данных, так и один из списка обобщенных типов; список_параметров – список формальных параметров обобщенной функции, которые могут быть описаны как с указанием конкретного типа данных, так и одного типа из списка обобщенных типов. Например, определим класс, который содержит методы сортировки массивов различными способами. Для того чтобы можно было использовать эти методы для сортировки массивов с различными типами элементов, методы сортировки можно сделать обобщенными. В примере продемонстрирована реализация алгоритма быстрой сортировки. // класс, предназначенный для сортировки массивов class Sorter { // оббобщенный метод быстрой сортировки массива public static void Sort(IMyComparer comparer, T[] items, int left, int right) { int i = left; int j = right; T center = items[(left + right) / 2]; // цикл упорядочивания элементов // относительно элемента center while (i <= j) { while (comparer.Greater(center, items[i])) i++; while (comparer.Greater(items[j], center)) j--; if (i <= j) { T x = items[i]; items[i] = items[j]; items[j] = x; i++; j--; } } // вызов метода сортировки элементов, // расположенных слева от center 127
Страницы
- « первая
- ‹ предыдущая
- …
- 125
- 126
- 127
- 128
- 129
- …
- следующая ›
- последняя »