/** * 算法思想:每一轮循环确定当前数据中最大的一个数的位置(索引), * 然后把它交换到所有数据的最后一位,缩小排序范围,将剩余数据 * 重复按照上述思想排序,直到所有数据排序完成 */ static void sort(int[] arr){ //外层循环控制每次找到的最大数值要交换到的位置 for (int i = arr.length - 1; i > 0; i--) { //寻找最大值的基准数值选取arr[0],记录其索引 int index = 0; /** * 从第二个数直到最后一个数依次与基准数值进行比较, * 大于基准数值的选为新的基准数值,记录其索引。 */ for (int j = 1; j <= i; j++) { if (arr[j] > arr[index]) { index = j; } } //内层循环完成之后找到了最大数值的位置,将其交换到最后一位。 int temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } }
java选择法排序笔记
最新推荐文章于 2022-03-30 18:32:10 发布