Java的选择排序
来源:互联网 发布:淘宝花呗卖家开通条件 编辑:程序博客网 时间:2024/06/04 20:08
选择排序:
选择排序主要思想是先选取序列中的最大值,放在序列首位,再选取除去序列首位的序列中的最大值,放在第二位,以此类推实现排序。
下面举一个从大到小排序的例子:(红色的表示已经排好序的,蓝色的表示此次排序所交换的数字)
如1,5,2,8,1,9,2,4
第一趟排序后结果: 9,5,2,8,1,1,2,4
第二趟排序后结果: 9,8,2,5,1,1,2,4
第三趟排序后结果: 9,8,5,2,1,1,2,4
第四趟排序后结果: 9,8,5,4,1,1,2,2
第五趟排序后结果: 9,8,5,4,2,1,1,2
第六趟排序后结果: 9,8,5,4,2,2,1,1
第七趟排序后结果: 9,8,5,4,2,2,1,1
第八趟排序后结果: 9,8,5,4,2,2,1,1
结束
可以看出选择排序是不稳定的,如第一趟排序后两个1的相对位置发生了变化
Java代码实现
class selectSort{private int[] nums;public void sort(){for(int i=0;i<nums.length;i++){int temp=-1;//保存最大值的索引int max =nums[i];//保存最大值for(int j=i;j<nums.length;j++){if(max<nums[j]){temp=j;max = nums[j];}}if(temp!=-1){change(i,temp);}}}public void change(int i,int j){int num=0;num = nums[i];nums[i] = nums[j];nums[j] = num;}public int[] selectSort(int[] nums){this.nums = nums;sort();return nums;}public void print(){for(int i=0;i<nums.length;i++){System.out.print(nums[i]+",");}}}public class select_sort{public static void main(String[] args){int[] numbers = {1,0,8,5,4,2};selectSort ss = new selectSort();ss.selectSort(numbers);ss.print();}}
阅读全文
0 0
- java的选择排序
- java的选择排序
- Java的选择排序
- java实现的选择排序
- 选择排序的Java实现
- java的选择排序学习
- Java里面的选择排序
- Java的选择排序算法
- 选择排序的Java实现
- java选择排序的实现
- java数组的排序,选择排序,冒泡排序,插入排序
- 排序-选择排序-Java
- 选择排序、树形排序、堆排序的java代码实现
- 冒泡排序,选择排序,快速排序的Java实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 面向对象的5大基本原则
- 线上服务CPU100%问题快速定位实战(58沈剑)
- 简单工厂
- 数组中的逆序对
- Instant App 常见问题官方指南 | Android 开发者 FAQ Vol.6
- Java的选择排序
- c语言编写的小程序 随机生成数
- mybatis 自我学习总结
- 基础很重要~~04.表表达式-下篇
- python 核心编程 18-4
- [NOIP模拟赛]树
- MyISAM与InnoDB的区别
- C++ 传递动态内存
- android 动画 -- tween动画