JAVA_数组排序方法

来源:互联网 发布:mac忘记密码怎么办 编辑:程序博客网 时间:2024/05/16 07:21



总结:比较简单的三种方法

            1.Arrays.sort();   //java内置,开发使用率较高

            2.选择排序       

            3.冒泡排序      //效率相对选择排序较高

public class Test4 {

 public static void main(String[] args) {
  //初始化数组
  int[]arr={1,4,5,9,2};
  //调用Java内置的Arrays.sort()
  arraySort(arr);  
  //打印
  print(arr);
  //调用选择排序
  selectSort(arr);
  print(arr);
  //调用冒泡排序
  bobbleSort(arr);
  print(arr);
 }
 
 /**
  * 打印方法
  * @param arr
  */
 private static void print(int[] arr){
  System.out.print("【");
  for(int i=0;i<arr.length;i++){
   System.out.print(arr[i]+" ");
  }
  System.out.print("】");
 }
 
 /**
  * Arrays.sort()方法
  * @param arr
  * @return
  */
 private static void arraySort(int []arr){
  Arrays.sort(arr);  
 }

 /**
  * 选择排序
  *
  * @param arr
  *            要进行排序的数组
  */
 private 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]) {
     swap(arr, i, j);
    }
   }
  }
 }

 /**
  * 冒泡排序
  * @param arr 要进行排序的数组
  */
 private static void bobbleSort(int[] arr) {
  for (int i = 0; i < arr.length - 1; i++) {
   for (int j = 0; j < arr.length - i - 1; j++) {
    if (arr[j] > arr[j + 1]) {
     swap(arr, j, j + 1);
    }
   }
  }
 }

 /**
  * 提取公共部分,进行排序交换
  *
  * @param arr 传入的数组
  * @param i
  * @param j
  */
 private static void swap(int[] arr, int i, int j) {
  int temp = arr[i];
  arr[i] = arr[j];
  arr[j] = temp;
 }
}


0 0
原创粉丝点击