企业门户网站在信息系统架构中属于哪个层次,做电商网站赚钱吗,南海网站建设多少钱,重庆市城市建设档案馆网站一、定义
选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小#xff08;或最大#xff09;的一个元素#xff0c;存放在序列的起始位置#xff0c;然后#xff0c;再从剩余未排序元素中继续寻找最小#xff08;大#xff09;元素或最大的一个元素存放在序列的起始位置然后再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。以此类推直到全部待排序的数据元素排完。
二、算法示例讲解Java
public static void selectSort(int[] array) {if (array null || array.length 2) {return;}// 外层循环控制遍历的轮数每轮找出剩余未排序部分中的最小或最大元素for (int i 0; i array.length - 1; i) {// 假设当前未排序部分的第一个元素为最小值int minIndex i;// 内层循环在剩余未排序部分中寻找最小值的索引for (int j i 1; j array.length; j) {// 如果找到更小的元素则更新minIndexif (array[j] array[minIndex]) {minIndex j;}}// 将找到的最小值与当前位置的元素交换if (minIndex ! i) {int temp array[i];array[i] array[minIndex];array[minIndex] temp;}}
}第1轮 未排序部分[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 第2轮 未排序部分[9, 8, 7, 6, 5, 4, 3, 2, 10] 第3轮 未排序部分[8, 7, 6, 5, 4, 3, 9, 10] 第4轮 未排序部分[7, 6, 5, 4, 8, 9, 10] 第5轮 未排序部分[6, 5, 7, 8, 9, 10] 第6轮 未排序部分[6, 7, 8, 9, 10] 第7轮 未排序部分[7, 8, 9, 10] 第8轮 未排序部分[8, 9, 10] 第9轮 未排序部分[9, 10]