ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
