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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 海阔天空监管科 初级黑马   /  2015-4-24 19:09  /  2615 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
谁能把几个排序的方式给我代码写出来,不生感激涕零,作为新人一定会努力,为黑马争光。
为中国的硅谷服务。

最佳答案

查看完整内容

class ArrayTools { //选择排序 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]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } //冒泡排序 public static void bubbleSort(int[] arr) { //外层循 ...

6 个回复

正序浏览
1、Lucus来签到啦!
2、大概哪个时间点逛论坛呢? 晚上11点多
3、走黑马流程了吗?到哪一块了? 前三步
4、今天的任务完成多少?完成
回复 使用道具 举报
     赞一个
回复 使用道具 举报
优质码农 发表于 2015-4-24 19:09
class ArrayTools {
        //选择排序
        public static void selectSort(int[] arr) {

赞一个。。。。。。
回复 使用道具 举报
优质码农 发表于 2015-4-24 19:09
class ArrayTools {
        //选择排序
        public static void selectSort(int[] arr) {

赞一个。。。。
回复 使用道具 举报
优质码农 发表于 2015-4-24 19:09
class ArrayTools {
        //选择排序
        public static void selectSort(int[] arr) {

回复 使用道具 举报
class ArrayTools {
        //选择排序
        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]) {
                                        int temp = arr[x];
                                        arr[x] = arr[y];
                                        arr[y] = temp;
                                }
                        }
                }
        }
       
        //冒泡排序
        public static void bubbleSort(int[] arr) {
                //外层循环,控制比较的次数
                for (int x = 0; x < arr.length-1; x++) {
                        //内循环,控制参数比较的元素
                        //y < arr.length-1  防止角标越界异常
                        //y < 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;
                                }
                        }
                }
        }
       
        // 二分查找法:
        public static int binarySearch(int[] arr, int number) {
                //创建三个变量, 用来记录min,max,mid
                int min = 0;
                int max = arr.length-1;
                int mid = (min+max)/2;
                //循环查找指定值的位置
                while( arr[mid] != number ){
                        if (arr[mid] > number) {
                                //范围在左边,更新最大值
                                max = mid-1;
                        } else {
                                //范围在右边, 更新最小值
                                min = mid+1;
                        }
                        //判断查找范围
                        if (min > max) {
                                mid = -1;//没找到
                                break;
                        }
                        //更新中间值  mid
                        mid = (min + max)/2;
                }
                return mid;
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马