选择排序(Java)
程序员文章站
2022-07-04 22:30:41
排序步骤(从小到大): 01.首先假设未排序的数组中,第一个数为最小数 02.从剩余未排序元素中继续寻找最小的数 03.将剩余未排序中最小的数和假设最小数进行比较,将较小的数排到前面 图示(图源菜鸟教程): Java实现: 输出: ......
排序步骤(从小到大):
01.首先假设未排序的数组中,第一个数为最小数
02.从剩余未排序元素中继续寻找最小的数
03.将剩余未排序中最小的数和假设最小数进行比较,将较小的数排到前面
图示(图源菜鸟教程):
java实现:
package com.code; class arraysort{ public void selectionsort(int array[]){ for (int i = 0 ; i < array.length - 1 ; i ++) //控制一共需要比较次数 { int min = i; for (int j = i + 1 ; j < array.length ; j ++) //控制每一次未排序数需要比较的次数 { if(array[j] < array[min]) { min = j; } } if(array[i] > array[min]) //将假设最小数与未排序中最小的数进行位置交换 { int tmp = 0; tmp = array[i]; array[i] = array[min]; array[min] = tmp; } } system.out.print("排序后的数组为:"); for (int i = 0 ; i < array.length ; i ++) //输出排序后的数组 { system.out.print(array[i] + " "); } } } public class javacode { public static void main(string[] args) { int array[] = {1,5,8,7,6,3,4,9,2}; system.out.print("排序前的数组为:"); for (int i = 0 ; i <array.length ; i ++) //输出排序前的数组 { system.out.print(array[i] + " "); } system.out.println(); arraysort sort = new arraysort(); sort.selectionsort(array); } }
输出:
排序前的数组为:1 5 8 7 6 3 4 9 2 排序后的数组为:1 2 3 4 5 6 7 8 9
上一篇: 常用集合框架图