Java-算法之选择排序
来源:互联网 发布:十万块钱知乎 编辑:程序博客网 时间:2024/05/16 13:50
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
代码
package top.jzdxjzf.arithmetic;import java.util.Random;/** * 选择排序(Selection sort) * 是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置 ,直到全部待排序的数据元素排完。 * 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。 * * @author Java_feng * * 2016年7月17日-下午9:54:29 */public class SelectionSortDemo { public static void main(String[] args) { // 待排序的数组 int[] number = new int[10]; Random rand = new Random(); // 给数组赋值 for (int i = 0; i < 10; i++) { number[i] = rand.nextInt(100); } System.out.print("长度为: " + number.length + " 的原数组: "); // 输出数组 printf(number); // 选择排序 selectionSort(number); printf(number); } /** * 打印数组 * * @param number * 待打印的数组 */ private static void printf(int[] number) { for (int i = 0; i < number.length; i++) { System.out.print(number[i]); if (i != number.length - 1) { System.out.print(" , "); } } System.out.print("\n"); } /** * 选择排序 * * @param number * @return */ private static int selectionSort(int[] number) { if (number == null || number.length == 0) { return -1; } int index = 0; int temp = 0; for (int i = 0; i < number.length; i++) { index = i; for (int j = i; j < number.length; j++) { if (number[j] < number[index]) { index = j; } } if (i != index) { temp = number[i]; number[i] = number[index]; number[index] = temp; } } return 1; }}
0 0
- Java-排序算法之选择排序算法
- Java-算法之选择排序
- java算法之选择排序
- java算法之选择排序
- Java算法之选择排序
- java排序算法之(选择法排序)
- java排序算法之选择排序
- 排序算法之选择排序(JAVA)
- Java算法排序之--选择排序
- JAVA排序算法之 选择排序
- java排序算法之三选择排序
- 排序算法之简单选择排序(Java)
- Java常用排序算法之选择排序
- 排序算法之选择法排序(Java)
- Java排序算法之选择排序
- Java系列-排序算法之选择排序
- Java排序算法之简单选择排序
- Java八大排序算法之选择排序
- APP开发实战99-Android的内部存储(Internal Storage)
- Latex生成PDF文件中字体无法嵌入
- Matlab R2010a和vs 2010混合编程
- 【经典算法】: 求链表中倒数第K个结点
- Python 3.5 import easygui invalid syntax
- Java-算法之选择排序
- 腾讯云配置密钥使用putty登录
- poj 1572 kmp
- diff patch 打补丁
- 从零开始学_JavaScript_系列(25)——dojo(10)摧毁一个widget
- 读过不错的电子书籍
- JAVA学习总结二十六
- JAVA 静态嵌套类、内部类
- Ubuntu 默认安装的vi太恶心 还是自己装一个吧