选择排序算法
每一趟从待排序的数据元素中选出毫小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排
序的数据元素排完。选择排序是不稳定的排序方法。
优点:一轮比较只需要换一次位置。
缺点:效率慢,不稳定。
Demo;
public class XuanZe {
public static void main(String[] args) {
//创建一个数组并赋值
int[] nums={1,45,89,44,34,74,56,15,99,128};
//用于记录最小值下标
int mini=0;
//嵌套循环
for (int i=0;i<nums.length;i++){
mini=i;//每次循环设置一次最小值下标
for (int j=i+1;j<nums.length;j++){
if (nums[mini]>nums[j]){
mini=j;
}
}
//判断需要交换位置的数 下标是否为自己
if (mini!=i){
//交换位置
nums[mini]=nums[mini]+nums[i];
nums[i]=nums[mini]-nums[i];
nums[mini]=nums[mini]-nums[i];
}
}
//输出结果
for (int n:nums){
System.out.print(" < "+n);
}
}
}
Run;