快速排序:
class KuaiSuPaiXu<T> where T : IComparable
{
public static void Sort(T[] array)
{
Sort(array, 0, array.Length - 1);
}
private static void Sort(T[] array, int start, int end)
{
if (start < end)
{
int i = start;
int j = end;
T current = array[start];
while (i < j)
{
while ((i < j) && (current.CompareTo(array[j]) <= 0))
j--;
if (i < j)
array[i++] = array[j];
while ((i < j) && (current.CompareTo(array[i]) >= 0))
i++;
if (i < j)
array[j--] = array[i];
}
array[i] = current;
Sort(array, start, i - 1);
Sort(array, i + 1, end);
}
}
}
冒泡排序
class MaoPaoPaiXu<T> where T : IComparable
{
public static void Sort(T[] array)
{
for (int i = array.Length - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (array[j].CompareTo(array[j + 1]) > 0)
{
T temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
}