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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

给定一个数组 int[] arr = {2,6,9,1,3,5,8}; 怎样进行冒泡排序啊 求大神支招!!!

7 个回复

倒序浏览
我要去黑马 学Java
回复 使用道具 举报

来吧  哥们儿
回复 使用道具 举报
拿去,格式不太好看,就酱紫

class ArrayDemo{        
       public static void main(String[] args) {
        int[] arr= {2,6,9,1,3,5,8};
            System.out.print("排序前数组:" );
            printArray(arr);
             selectSort(arr);
            System.out.print("排序后数组:" );
            printArray(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]){
                            int temp = arr[x];
                              arr[x] = arr[y];
                              arr[y] = temp;
                         }
                   }
            }
    }
  public static void printArray(int[] arr){
            System.out.print("[" );
            for(int x = 0; x < arr.length; x++){
                    if(x != arr.length - 1)
                        System.out.print(arr[x] + "," );
                    else
                       System.out.println(arr[x] + "]" );
             }
    }
}
回复 使用道具 举报
zlf1991312 发表于 2016-4-26 23:32
拿去,格式不太好看,就酱紫

class ArrayDemo{        

666   谢谢大神
回复 使用道具 举报
//冒泡排序                 int[] arr = {2,6,9,1,3,5,8};                 for (int i = 0; i < arr.length - 1; i++) {                         for (int j = 0; j < arr.length -1 -i; j++) {                                 if(arr[j] > arr[j+1]) {                                         int temp = arr[j+1];                                         arr[j+1] = arr[j];                                         arr[j] = temp;                                 }                         }                 }                                  System.out.println(Arrays.toString(arr));                                  //选择排序                 int[] arr = {2,6,9,1,3,5,8};                 for (int i = 0; i < arr.length-1; i++) {                         for (int j = i+1; j < arr.length; j++) {                                 if(arr[i] < arr[j]) {                                         int temp = arr[j];                                         arr[j] = arr[i];                                         arr[i] = temp;                                 }                         }                 }                 System.out.println(Arrays.toString(arr));
回复 使用道具 举报
//冒泡排序  第一圈最值出现在最后位
        public static void bubbleSort(int[] arr){
        for (int i=0;i<arr.length-1 ;i++ ) {
                for (int j=0;j<arr.length-i-1 ;j++ ) {  //-i让每次比较的元素减少, -1避免角标越界
                        if (arr[j]>arr[j+1]) {
                                int temp = arr[j];
                                int [j] = arr[j+1];
                                int [j+1] = temp;
                                }
                        }
                }
        }函数一枚,传值就能用
回复 使用道具 举报
大神蛮多的,上面蛮多啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马