选择排序-java实现
来源:互联网 发布:绿盟网络审计系统 编辑:程序博客网 时间:2024/06/06 16:47
选择排序:
反复地将某一个特定的值放到它在列表中最终已经排好序的位置,从而完成对某一个值的排序。排序策略:
1:扫描整个列表找到最小值,将该值与列表的第一个值交换;2:扫描除第一个值以外的列表,找到最小值与列表第二个值交换
3:依次找到除已排序子集以外的值中的最小值,与排序子集的后一位交换;
4:重复第三步,直到整个列表排序完成。
例子:
初始:2 8 5 1 3step1:1 8 5 2 3 (选择最小的值1与第0位交换)
step2:1 2 5 8 3 (选择最小值2的与第1位交换)
step3:1 2 3 8 5 (选择最小值3的与第2位交换)
step4:1 2 3 5 8 (选择最小值5的与第3位交换)
step5:1 2 3 5 8 (选择最小值8的与第4位交换)
最终:1 2 3 5 8
Code:
/**Created on 2016年7月10日*Copyright 2016 Yong Cai Limited crop. All Rights Reserved**/package org.cy.sort;public class SelectionSort {public static void main(String[] args) {String[] str = {"cc", "yy", "aa", "yong", "nba", "love"};printArr(selectionSort(str));}public static <T extends Comparable<? super T>> T[] selectionSort(T[] data){int min;T tmp;int len = data.length;for(int index = 0;index < len; index++){min = index;for(int scan = index + 1; scan < len; scan++){if(data[scan].compareTo(data[min]) < 0){min = scan;}}tmp = data[min];data[min] = data[index];data[index] = tmp;}return data;}public static <T> void printArr(T[] data){int len = data.length;for(int i = 0; i < len; i++){System.out.print(data[i] + " ");}System.out.println();}}
1 0
- java实现选择排序
- Java实现选择排序
- Java实现选择排序
- 选择排序java实现
- 选择排序(Java实现)
- 选择排序 Java实现
- Java 实现选择排序
- java实现选择排序
- JAVA实现选择排序
- JAVA 实现选择排序
- java 实现选择排序
- java实现选择排序
- java实现选择排序
- java实现选择排序
- 选择排序,Java实现
- java 实现选择排序
- java实现选择排序
- 选择排序(java实现)
- 【Python学习笔记】python高级特性:列表生成式
- 一点感想
- 传球游戏/vijos1485/递推
- Nms
- linux课堂笔记5———shell
- 选择排序-java实现
- Mupad使用小结
- 第一个简单的 OpenGL 应用程序
- js弹出窗口
- 编写可读代码的艺术
- CSS实现单行、多行文本溢出显示省略号(…)
- 图像特征提取之局部秩
- 华硕笔记本X450JB拆机及加装固态硬盘
- HDOJ 1811 Rank of Tetris (并查集+topo)