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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-6 11:08  /  727 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        需求:对数组进行排序     选择排序
        数组[2,7,4,3,5,9,8]
*/
class SortTest {

        //定义一个函数对数组进行排序,运用选择排序法。因为只需要对数组进行排序。所以不需要返回值
        public static void selectSort(int[] arr) {
                for(int i = 0; i < arr.length - 1; i++) {
                        for(int j = i + 1; j < arr.length; j++) {
                                if(arr[i] > arr[j]) {
                                        arraySort(arr, i, j);
                                }
                        }
                }
        }
       
        //对数组中的数据进行交换
        private static void arraySort(int[] arr, int i , int j) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
        }
       
        //写一个函数对数组进行排序,运用冒泡排序法
        public static void bubbleSort(int[] arr) {
                for(int i = 0; i <arr.length; i++) {
                        for(int j = 0; j < arr.length - i - 1; j++){//-i是让每次比较的元素减少,-1是为了避免数组下标越界
                                if(arr[j] > arr[j + 1]) {
                                        arraySort_1(arr, j);
                                }
                        }
                }
        }
       
        //写冒泡排序的数组数据交换
        public static void arraySort_1(int[] arr, int j) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
        }
       
        //写一个函数打印输出数组
        public static void show(int[] arr) {
                System.out.print("[");
                for(int i = 0; i < arr.length; i++) {
                        if(i != arr.length - 1) {
                                System.out.print(arr[i] + ",");
                        } else {
                                System.out.println(arr[i] + "]");
                        }
                       
                }
        }
       
        //写主函数进行测试
        public static void main(String[] args) {
                int[] arr = {2,7,4,3,5,9,8};
               
                //排序前先输出一次
                show(arr);
               
                //对数组进行排序,选择排序函数
                //selectSort(arr);
               
                //对数组进行排序,冒泡排序函数
                bubbleSort(arr);
               
                //输出打印排序后的数组
                show(arr);
        }
       
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

0 个回复

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