选择排序算法的java实现

来源:互联网 发布:律所能源法业务知乎 编辑:程序博客网 时间:2024/06/03 20:23
/** * 选择排序 * n表示数组中元素的个数 * Created by Administrator on 2017/11/4 0004. */public class SelectSort {    public static void selectSort(int[] arr,int n){      for(int i=0;i<n;i++){          int index = i;          for(int j=i+1;j<n;j++){              if(arr[i]>arr[j]){                  index = j;              }          }          /**           * 交换arr[i]与arr[index]           */          int tmp = arr[i];          arr[i] = arr[index];          arr[index] = tmp;      }    }   /**     * 改进:     * 利用泛型来进行各种类型的选择排序     * @param arr     */    public static  void selectSortT(Comparable[] arr){        int n = arr.length;        for(int i =0 ;i < n;i++){            int index = i;            for(int j=i+1;j<n;j++){                if(arr[i].compareTo(arr[j])>0){                    index = j;                }            }            Object tmp = arr[i];            arr[i] = arr[index];            arr[index] = (Comparable) tmp;        }    }        public static void main(String[] args) {       int a[] = {2,4,6,3,1,5};        selectSort(a,6);        for(int i=0;i<a.length;i++)           System.out.println(a[i]);        Integer a[] = {2,4,6,3,1,5};        selectSortT(a);        for(int i=0;i<a.length;i++)           System.out.println(a[i]);        String[] b = {"d","b","c","a"};        selectSortT(b);        for(int i=0;i<b.length;i++)            System.out.println(b[i]);    }
原创粉丝点击