选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
选择排序不稳定,会导致相同值位置发生改变。
算法步骤:
1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
2)再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3)重复第二步,直到所有元素均排序完毕。
public class SelectionSort { public static void main(String[] args){ int a[] = {50,12,2,15,8,1,17}; System.out.println("排序前:"); for(int i = 0; i < a.length; i++){ System.out.print(a[i] + " "); } //选择排序 for(int i = 0; i < a.length; i++){ int min = a[i]; int n = i; //最小值的索引 //找出最小的值 for(int j = i+1; j < a.length; j++){ if(a[j] < min){ min = a[j]; n = j; } } //将最小的值和第一个值交换位置 a[n] = a[i]; a[i] = min; System.out.println(""); System.out.println("第" + (i+1) + "次排序:"); for(int k = 0; k < a.length; k++){ System.out.print(a[k] + " "); } } } }
时间: 2024-10-25 17:21:28