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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

背景:发现很多学过基础班以后的同学过了一段时间,只有40%左右的同学记得几种排序算法,本人也不例外,原因是这几种排序算法的思想虽然相异,但是写法类似,非常容易让人混淆.
本人复习总结出:用简短三句话描述三种排序算法的思想.
插入排序:从容器(数组或集合)中的第二个对象开始取出与前面的元素依次倒叙做比较.
选择排序:从容器(数组或集合)中的第一个对象开始取出与后面的元素做比较,过滤出第一个元素为最小个.
冒泡排序:从容器(数组或集合)中的第一个对象开始到最后一个元素,相邻的元素两两依次比较,结果最大值推到最后.
插入排序实现:
//插入排序 break.
        public  static int[] insertSort(int[] arr){
                for (int x = 1; x < arr.length-1; x++) {
                        for(int y=x;0<y;y--){
                                if (arr[y]<arr[y-1]) {
                                        int temp = arr[y];
                                        arr[y]=arr[y-1];
                                        arr[y-1]=temp;
                                }else{
                                        break;
                                }
                       
                        }
                }
                return arr;
        }

//选择排序(将最小的拿出来放前面).
        public static int[] chooseSort(int[] arr){
                for (int x = 0; x < arr.length-1; x++) {
                        for (int y = x+1; y < arr.length; y++) {
                                        if (arr[x]>arr[y]) {
                                                int temp=arr[x];
                                                arr[x]=arr[y];
                                                arr[y]=temp;
                                        }
                        }
                }
                return arr;
                               
        }


//冒泡排序.
        public static int[] pubbeSort(int[] arr){
                for (int x = 0; x < arr.length-1; x++) {
                        for (int y = 0; y < arr.length-1-x; y++) {
                                if (arr[y]>arr[y+1]) {
                                        int temp=arr[y];
                                        arr[y]=arr[y+1];
                                        arr[y+1]=temp;
                                }
                        }
                }
                return arr;       
        }


最后总结机记忆方法:插入y=x=1;选择y=x+1;y=x=0;
规律你懂的.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马