A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 橘猫自由 中级黑马   /  2015-12-20 10:01  /  666 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组:
        基本排序;
                冒泡排序:
                        相邻元素两两比较,大的往后走,第一次比较完毕后,最大值就在最大索引处。
                                24 57 80 69 13
                        第一轮:
                                比较4次,比较完后,结果是: 24 57 69 13 80
                        第二轮:
                                比较3次,比较完后,结果是: 24 57 13 69 80
                        第三轮:
                                比较2次,比较完后,结果是: 24 13 57 69 80
                        第四轮:
                                比较1次,比较完后,结果是: 13 24 57 69 80

                        总结;
                                总共比较了4轮,每轮的比较次数为数组的长度-1-i

                        int[] arr = {24, 57, 80, 69, 13};
                        for(int i= 0; i<arr.length-1; i++) {
                                for(int j=0; j<arr.length-1-i; j++) {        //-1是为了防止索引越界,-i是为了提高效率
                                        if(arr[j] > arr[j+1]) {
                                                int temp = arr[j];
                                                arr[j] = arr[j+1];
                                                arr[j+1] = temp;
                                        }
                                }
                        }
               
                选择排序:
                        24 57 80 69 13

                        13 57 80 69 24

                        13 24 80 69 57               

                        13 24 57 80 69

                        13 24 57 69 80
                思路:
                        从第一个元素开始,依次拿该位置的元素 和之后所有的元素进行比较,小的往前,大的往后,
                        第一轮比较完毕后,最小值就在最小索引处。

                        int[] arr = {24, 57, 80, 69, 13};
                        for(int i= 0; i<arr.length-1; i++) {
                                for(int j= i + 1; j<arr.length; j++) {        //-1是为了防止索引越界,-i是为了提高效率
                                        if(arr[i] > arr[j]) {
                                                int temp = arr[i];
                                                arr[i] = arr[j];
                                                arr[j] = temp;
                                        }
                                }
                        }

1 个回复

倒序浏览
赞一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马