直接选择排序的思想是:每次从无序数组中选出一个最小的出来,放到已排好序的数组的最后。
它比起冒泡排序有一个优点就是不用不断的交换,但是冒泡排序有一个选择排序不具有的好处,就是当某趟扫描没有发生交换的时候便可以终止算法。
public static void SELECTSORT(int[] R)
{
for (int i = 0; i < R.Length-1; i++)
{
int index = i;
for (int j = i + 1; j < R.Length; j++)
{
if (R[j] < R[index])
{
index = j;
}
}
//交换R[i]和R[index]
if (index != i)
{
int t = R[i]; R[i] = R[index]; R[index] = t;
}
}
}
它比起冒泡排序有一个优点就是不用不断的交换,但是冒泡排序有一个选择排序不具有的好处,就是当某趟扫描没有发生交换的时候便可以终止算法。
public static void SELECTSORT(int[] R)
{
for (int i = 0; i < R.Length-1; i++)
{
int index = i;
for (int j = i + 1; j < R.Length; j++)
{
if (R[j] < R[index])
{
index = j;
}
}
//交换R[i]和R[index]
if (index != i)
{
int t = R[i]; R[i] = R[index]; R[index] = t;
}
}
}