1.冒泡
public static void BubbleSort(int[] Arr)
{
for (int j = Arr.Length; j > 1; j--)
{
for (int index = 0; index + 1 < j; index++)
{
int temp = Arr[index];
if (Arr[index] > Arr[index + 1])
{
Arr[index] = Arr[index + 1];
Arr[index + 1] = temp;
}
}
}
}
2.快排
public static void Quicksort(int[] Arr, int left, int right)
{
if (left >= right)
{
return;
}
int i = left;
int j = right;
int Key = Arr[left];
while (i < j)
{
while (Arr[j] >= Key && j > i)
{
j--;
}
//swap(Arr, i, j);
while (Arr[i] <= Key && j > i)
{
i++;
}
//swap(Arr, i, j);
//如果比key大和比key小的值都存在,交换这两个值
if (i < j)
{
int temp = Arr[i];
Arr[i] = Arr[j];
Arr[j] = temp;
}
}
//Arr[i]比key小或者(left所在位置的值就是最小的,此时left=i),交换两个值
Arr[left] = Arr[i];
Arr[i] = Key;
Quicksort(Arr, left, i - 1);
Quicksort(Arr, i + 1, right);
}