深入浅出的排序算法-选择排序

程序员哆啦A梦

前言

大家好,今天给大家带来选择排序算法,希望你们喜欢

选择排序

选择排序比冒泡排序快一些,现在讲的选择排序比冒泡排序快一些,也是常用的排序算法。

选择排序是第一个人和后续排序的人进行比较,若第一个人大于第二个人,就进行交换,那么这时第一人就是最小的,然后这时的第一个人和第三个人进行比较,若这时的第一个人大于第三个人,就进行交换位置,这时第一个人又换人了,也变得更小了,就这样,把剩下的人以这种方法进行比较,直到最后,第一轮结束,在第一位的就是最小的值。

这种就是排序算法,比如有6个人,第一轮要进行5次比较,不是。

//第二轮
for(int index=2;indexarr[index])
{
int temp = arr[1];
arr[1] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第三轮
for(int index=3;indexarr[index])
{
int temp = arr[2];
arr[2] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第四轮
for(int index=4;indexarr[index])
{
int temp = arr[3];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第五轮
for(int index=5;indexarr[index])
{
int temp = arr[4];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第六轮没有,我们arr.length=6举例
//int index = 6;index<arr.length; false

- 优化

public static void selectionSort(int[] arr)
{
for(int count=1;countarr[index])
{
int temp = arr[count-1];
arr[count-1] = arr[index];
arr[index] = temp;
}
}
}
```

总结