У меня трудное время, чтобы понять, как преобразовать Selection Sort в Generics. Я написал классический алгоритм выбора Сортировка, не могли бы вы помочь мне понять, что вставка <T>
& T
.Преобразование выбора Сортировка в Generics <T>, T
class Program
{
static void Main(string[] args)
{
int[] numbers = { 34, 17, 23, 35, 26, 9, 13 };
//Print Array in Selection Sort
SelectionSort(numbers);
for (int i = 0; i < numbers.Length; ++i)
{
Console.WriteLine(numbers[i] + " ");
}
Console.ReadLine();
}
public static void SelectionSort(int [] numArray)
{
for (int i = 0; i < numArray.Length -1; ++i)
{
int minElement = numArray[i]; //Hold smallest remaining int @ i = 0
int minLocation = i;
for (int j = i + 1; j < numArray.Length; ++j)
{
if (numArray[j] < minElement)
{
minElement = numArray[j]; // Update index of minElement
minLocation = j;
}
}
//Swap
if (minLocation != i)
{
int temp = numArray[minLocation];
numArray[minLocation] = numArray[i];
numArray[i] = temp;
}
}
}
}
Насколько я могу понять из моего чтения, я могу только получить как:
public static void SelectionSort<T>(T[] numArray) : IComparable
Спасибо за любую помощь, которую вы можете предоставить с остальной частью алгоритма выбора сортировки.
Большое вам спасибо! Я не мог понять, где разместить CompareTo(), и у меня было трудное время с Swap - я не ставил T temp. Большое спасибо за помощь! –