数组---冒泡排序和选择排序

来源:互联网 发布:软件开发简历范文 编辑:程序博客网 时间:2024/05/01 14:44

一.冒泡排序

1.冒泡排序:两两比较
2.问题:将{69,24,80,57,13}按从小到大的顺序进行排序.
图解:
这里写图片描述
3.代码:

//冒泡排序public class Demo1 {    public static void main(String[] args) {        //静态初始化一个数组        int[] arr = {69,24,80,57,13};        //冒泡排序        //根据冒泡排序的特点,一共要进行arr.length-1次        for(int i = 0 ; i < arr.length-1 ; i ++){            //每次排序后减少一次比较次数            for(int j = 0 ; j < arr.length-1-i ; j ++){                //将较小数换到前面                if(arr[j] > arr[j+1]){                    int temp = arr[j];                    arr[j] = arr[j+1];                    arr[j+1] = temp;                }            }        }        //遍历输出排序后的数组        for(int i = 0 ; i < arr.length ; i ++){            System.out.print(arr[i]+" ");        }    }}结果:13 24 57 69 80 

二.选择排序

1.选择排序:0索引依次和后面的索引进行比较,第一次比较完毕之后,最小值出现在了最小索处.同理,其他索引也是依次进行比较(从小到大排序)
2.问题:将{69,24,80,57,13}按从小到大的顺序进行排序.
图解:
这里写图片描述
3.代码:

//选择排序public class Demo2 {    public static void main(String[] args) {        //静态初始化一个数组        int[] arr = {69,24,80,57,13};        //选择排序        for(int i = 0 ; i < arr.length-1 ; i ++){            //将第i+1个数依次和后面的比较            for(int j = i+1 ; j < arr.length ; j ++){                //将较小数换到前面                if(arr[i] > arr[j]){                    int temp = arr[i];                    arr[i] = arr[j];                    arr[j] = temp;                }            }        }        //遍历输出排序后的数组        for(int i = 0 ; i < arr.length ; i ++){            System.out.print(arr[i]+" ");        }    }}结果:13 24 57 69 80