重温算法之选择排序

来源:互联网 发布:网络需求表 编辑:程序博客网 时间:2024/05/16 07:05

选择排序

 排序就是将一组对象按照某种逻辑顺序重新排列的过程。其中一种最简单的方式就是,第一步找出数组中最小的那个元素。第二步找到最小的元素后与第一个元素进行交换位置。第三步在剩下的元素中找到最小的元素与数组的第二个元素交换。如此往复,直到整个数组排序。这种方法就叫做选择排序,总是不断的选择剩余元素的最小者。 在这个比较过程中选择排序不管数组元素的初始状态是否有序,其执行时间都是一样,数据在这个过程中移动是最小的。基本最多只需要N此交换就能达到排序的目的。 算法列子:
    public class Selection{       public static void sort(Comparable [] a){       int n = a.length;       for(int i = 0;i<n;i++){         for(int j=i+1;j<n;j++){           if (less(a[j],a[i])){               exchange(a,i,j);            }        }       }    }        public static void exchange(Comparable []a ,int i,int j){         Comparable t = a[i];a[i]=a[j];a[j]=t;    }    public static boolean less(Comparable v,Comparable w){      return v.compareTo(w)<0;    }}

该算法简单实用内外两个循环就可以实现需求。是不是很简单,下面来讲解插入排序

0 0
原创粉丝点击