黑马程序员技术交流社区

标题: 冒泡排序的代码实现!(未使用功能和使用功能合辑)! [打印本页]

作者: 小鹿    时间: 2015-10-19 22:23
标题: 冒泡排序的代码实现!(未使用功能和使用功能合辑)!
package cn.itcast_01;
/*
* 数组排序之冒泡排序:
*               相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处
*/
public class ArrayDemo {
      public static void main(String[] args) {
        //定义一个数组
        int [] arr = {24,69,80,57,13};
        System.out.println("排序前:");
        printArray(arr);
        
        //由上面在没有使用的功能的知道数组长度情况下如下:
        for(int y = 0;y <4;y++){
                for(int x = 0;x < arr.length-1-y;x++){
                        if (arr[x] > arr[x + 1]){
                                int temp = arr[x];
                                arr[x] = arr[x+1];
                                arr[x+1] = temp;
                        }
                }
                System.out.println("排序后1:");
                printArray(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;
                        }
                }
                System.out.println("排序后2:");
                printArray(arr);
        }
        selectSort(arr);
        }
        //使用功能实现
      public static void selectSort(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;
                          }
                  }
                  System.out.println("排序后2:");
                  printArray(arr);
          }
      }
        //遍历功能
      public static void printArray(int [] arr){
              System.out.print("[");
              for(int x = 0;x < arr.length;x++){
                      if(x == arr.length-1){
                              System.out.println(arr[x]+"]");
                      }else{
                              System.out.print(arr[x] + ", ");
                      }
              }
      }
}
作者: 豫东少侠    时间: 2015-10-19 22:57
哥们才学到冒泡排序就挣这么多HMB了啊,这代码写的不错,挣HMB的技术也很高啊。求大神支招怎么能快速挣HMB?




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