黑马程序员技术交流社区

标题: 分享代码,冒泡排序与选择排序 [打印本页]

作者: 晓恣晴空    时间: 2014-9-22 16:18
标题: 分享代码,冒泡排序与选择排序
自学使用,冒泡排序与选择排序
public class Test01 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //定义两个数组
                int[] arr1={25,56,99,45,30,22};
               
                int[] arr2={250,560,990,450,300,220};
                //调用 冒泡排序方法
                bubbleSort(arr1);
               
                System.out.println();
                //调用 选择排序方法
                selectSort(arr2);

        }

        /*
         * 排序
         */
        public static void swap(int[] arr, int x, int y) {
                /*
                 * 通过第三个辅助值进行数据位置的改变
                 */
                int temp = arr[x];
                arr[x] = arr[y];
                arr[y] = temp;
        }

        /*
         * 输出
         */
        public static void sop(int[] arr) {
                for(int i=0;i<arr.length;i++){
                        /*
                         * 通过判断是否是最后一个值,进而确定是否添加“,”
                         */
                        if(i!=arr.length-1)
                                System.out.print(arr[i]+",");
                        else
                                System.out.print(arr[i]);
                }
        }

        /*
         * 冒泡排序。
         */
        public static void bubbleSort(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]) {
                                        swap(arr, y, y + 1);
                                }
                        }
                }
                sop(arr);
        }

        /*
         * 选择排序。
         */
        public static void selectSort(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]) {
                                        swap(arr, x, y);
                                }
                        }
                }
                sop(arr);
        }
}


作者: jiangyin    时间: 2014-9-22 16:30
:)可以,复习一下
作者: 18643448863    时间: 2014-9-22 16:37
两种排序 理解 循环比较方式 之后 就是叮 咣 一顿神敲  敲完 咔嚓 N个 错误  再叮咣 一顿改 咔嚓  OK 出结果了 结果也对了 。  恭喜 以过关 请通往下一关
作者: 黑马新人dt    时间: 2014-9-22 16:39
好高端啊,顶一个!!
作者: 天弓    时间: 2014-9-22 16:54
学习了,我也在复习基础




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2