选择排序算法
来源:互联网 发布:找工作哪个软件好 编辑:程序博客网 时间:2024/04/30 12:54
选择排序算法
思想:将整个数组分成已排(左边)和待排(右边)两个部分,开始时已排部分为空,数组的所有成员均属于待排部分。排序时,每次在待排部分寻找最小的值,并将它与待排部分最左边的一个值交换,然后已排部分向右扩充一个成员。这样,已排部分逐步扩大,待排部分逐步缩小,直到待排部分只剩下一个成员为止。
- import java.util.*;
- public class SelectionSort{
- public void SelectionSorting(Comparable[] arr){
- int left,right,p;
- Comparable temp;
- left=0;
- right=arr.length-1;
- for(int i=left;i<right;i++){
- p=i;
- temp=arr[i];
- for(int j=i+1;j<=right;j++){
- if(arr[j].compareTo(arr[p])<0)
- p=j;
- }
- if(p!=i){
- arr[i]=arr[p];
- arr[p]=temp;
- }
- }
- }
- public void PrintArr(Comparable[] arr){
- for(int i=0;i<arr.length;i++)
- System.out.println(arr[i]);
- }
- public static void main(String[] args){
- Animal[] cArr=new Animal[]{new Animal("dog"),new Animal("cat"),
- new Animal("rat"),new Animal("pig"),new Animal("fox")
- ,new Animal("eel"),new Animal("ant"),new Animal("hen")
- ,new Animal("bat")};
- SelectionSort ss=new SelectionSort();
- ss.SelectionSorting(cArr);
- ss.PrintArr(cArr);
- }
- }
- class Animal implements Comparable{
- String name;
- public Animal(String s){
- name=s;
- }
- //public Animal(int iNa){
- // name=iNa;
- //}
- public int compareTo(Object o){
- if(name.compareTo(((Animal)o).getName())>0)
- return 1;
- else if(name.compareTo(((Animal)o).getName())==0)
- return 0;
- else
- return -1;
- }
- public String getName(){
- return name;
- }
- public String toString(){
- return (String)name;
- }
- }
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 算法-排序-选择排序
- 排序算法:选择排序
- 排序算法---选择排序
- 排序算法:选择排序
- 排序算法--选择排序
- 算法排序 -- 选择排序
- ;-)被俄罗斯公司注册:使用需交费
- 分类信息网站成逆市上扬主力
- Web服务的几种实现方法
- test
- 获取ACCESS错误号与对应的中文解释
- 选择排序算法
- 从今天开始
- bboss-aop-1.0.2 has been released
- 生活趣事二则
- 用VBA代码打开非*.mdb扩展名的access数据库
- oracle 保护表 key-preserved
- 软件开发的个人心得
- javascript判断文件是否存在
- 获取进程信息fork示例