码迷,mamicode.com
首页 > 编程语言 > 详细

java-数组排序算法

时间:2018-06-12 17:42:29      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:oid   组元   new   for   out   复制   void   比较   冒泡   

1.数组排序算法-冒泡排序算法

作用:可以对整数数组中的元素进行排序,与Arrays.sort方法的作用一样,唯一的区别是sort方法可以对任意的类型数组进行排序。

例子:

public class P_1 {

    public static void main(String args[]) {
        int[] a = new int[] {5,2,6,7,3,9};
        P_1 p = new P_1();
        p.mysort(a);
        p.showarray(a);
    }
    
    public void mysort(int[] a) {
        for(int i=1;i<a.length;i++) {  //比较的次数(25次)
            for(int j=0;j<a.length-1;j++) {   //两个数进行比较,大的数往后移。
                if(a[j]>a[j+1]) {
                    int temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }
    
    public void showarray(int[] a) {
        for(int i=0;i<a.length;i++) {
            System.out.println(a[i]);
        }
    }
}

2.直接选择排序

作用:直接选择排序的作用跟冒泡排序一样,是对数组元素进行排序,优势在于直接选择排序算法比较的次数比冒泡排序算法少。

例子:

public class P_1 {

    public static void main(String args[]) {
        int[] a = new int[] {5,2,6,7,3,9};
        P_1 p = new P_1();
        p.mysort(a);
        p.showarray(a);
    }
    
    public void mysort(int[] a) {
        int sum = 0;
        int index;
        for(int i=1;i<a.length;i++) {  //比较的次数
            index = 0;
            for(int j=1;j<=a.length - i;j++) {  //从数组第一个元素开始比较,最大的数移到最后,赋值给a[index]。
                if(a[j]>a[index]) {
                    index = j;
                }
                sum++;
            }
            int temp = a[a.length-i];  
            a[a.length-i] = a[index];  //将最大的数复制给最后数组的最后一个元素。
            a[index] = temp;
        }
        System.out.println("次数"+sum);  //总共比较15次
    }
    
    public void showarray(int[] a) {
        for(int i=0;i<a.length;i++) {
            System.out.print(">"+a[i]);
        }
    }
}

java-数组排序算法

标签:oid   组元   new   for   out   复制   void   比较   冒泡   

原文地址:https://www.cnblogs.com/wumingzhong/p/9174168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!