冒泡\选择\插入排序

冒泡排序
public class Bubble_Sort {
    public static int[] sort(int [] array) {
        for(int i =1;i<array.length;i++) {
            boolean flag = true;
            for(int j =0;j<array.length-i;j++) {
                if(array[j]>array[j+1]) {
                    int tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                    flag = false;
                }
            }
            if(flag) {
                break;
            }
            System.out.println("第"+i+"轮排序后的结果为");
            display(array);
        }
        return array;
    }
    public static void display(int [] array) {
        for(int i=0;i<array.length;i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [] array = {3,5,2,6,7,1,4,6,7} ;
        System.out.print("未排序数组");
        display(array);
        System.out.println("/");
        array = sort(array);
        System.out.println("/");
        System.out.println("冒泡排序后的数组顺序为");
        display(array);    
    }
}

选择排序

public class ChoiceSort {
    public static int [] sort(int [] array) {
        //经过N-1轮比较
        for(int i=0;i<array.length-1;i++) {
            int min =i;
            //从有序元素的下一个元素开始
            for(int j=i+1;j<array.length;j++) {
                if(array[j]<array[min]) {
                    min = j;//记录当前能找到的最小元素值得下表
                }
            }
            //若i的值!= min 说明后续元素中存在比当前元素小的值,交换
            if(i!=min) {
                int tmp = array[i];
                array[i]=array[min];
                array[min] = tmp;
            }
            System.out.print("第"+(i+1)+"轮排序后的结果为");
            display(array);
        }
        return array;
    }
    public static void display(int [] array) {
        for(int i=0;i<array.length;i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [] array = {4,2,4,3,46,7,9,9,3};
        //未排序数组
        System.out.println("未排序数组为:");
        display(array);
        System.out.println("/");
        array = sort(array);
        System.out.println("经过选择排序后的数组为:");
        display(array);
    }
}
插入排序

public class Insert_sort {
    public static int[] sort(int [] array) {
        int j;
        for(int i=1;i<array.length;i++) {
            int tmp = array[i];
            j = i;
            while(j>0&&tmp<array[j-1]) {//注意此处的j>0
                array[j] = array[j-1];
                j--;
            }
            array[j] = tmp;
        }
        return array;
    }
    public static void display(int [] array) {
        for(int i =0;i<array.length;i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method st
        int [] array= {4,2,4,34,8,5,3};
        System.out.println("未排序数组");
        display(array);
        array= sort(array);
        System.out.println("有序化数组");
        display(array);
    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值