选择排序 1. 选择排序思路及其与冒泡排序的对比 不稳定排序可能会把数值大小相同的元素位置进行交换 2. 代码实现1234567891011121314151617181920212223242526272829303132public class kuai_su_pai_xu { public static void main(String[] args) { int[] array = {5, 2, 7, 4, 1, 3, 8, 9}; selection(array); } public static void selection(int[] a){ for (int i = 0; i < a.length; i++) { //i 代表每轮选择最小元素 要 交换 到 的目标索引 int s = i;//代表最小元素的索引 for (int j = s + 1; j < a.length; j++){ if (a[s] > a[j]){ s = j; } } //把最小的换到 i 的位置上 //每次只需要在这里交换一次 因为在上面记录了该轮最小的索引 //也算个小优化 swap(a,s,i); System.out.println(Arrays.toString(a)); } } /** * 置换函数 */ public static void swap(int[] a, int i, int j){ int temp = a[i]; a[i] = a[j]; a[j] = temp; }} 123456789//可见每次都是把当前循环最小的元素放到对应的索引上[1, 2, 7, 4, 5, 3, 8, 9][1, 2, 7, 4, 5, 3, 8, 9][1, 2, 3, 4, 5, 7, 8, 9][1, 2, 3, 4, 5, 7, 8, 9][1, 2, 3, 4, 5, 7, 8, 9][1, 2, 3, 4, 5, 7, 8, 9][1, 2, 3, 4, 5, 7, 8, 9][1, 2, 3, 4, 5, 7, 8, 9] 算法与数据结构 > 排序/查找 #排序 选择排序 https://blog.gutaicheng.top/2022/07/24/选择排序/ 作者 GuTaicheng 发布于 2022年7月24日 许可协议 冒泡排序及其优化 上一篇 快速排序 下一篇 Please enable JavaScript to view the comments