数组的几种排序方式

来源:互联网 发布:金门炮战知乎 编辑:程序博客网 时间:2024/05/16 16:06
import java.util.Arrays;
class Demo{
 public static void main(String[] args){
  
 /* int[] arr = new int[3];
  arr[0] = 123;
  arr[1] = 456;
  arr[2] = 789;
  for(int i = 0; i < arr.length; i++){
   System.out.println("数组中的值为:" + arr[i]);
  }
 */
  int[] arr = {3,8,100,50,888};
  sort1(arr);
  sort2(arr);
  Sort3(arr);
  int[] val = getMax(arr);
  System.out.println("min"+val[0]);
  System.out.println("max"+val[1]);
 }
 
 /*
  数组排序 Arrays
 */
 public static void sort1(int[] arr){
  Arrays.sort(arr);
  for(int i = 0; i < arr.length; i++){
   System.out.println("sort1:arr====>"+arr[i]);
  }
 }
 /*
  冒泡排序
 */
 public static void sort2(int[] args){
  for(int i = 0; i < args.length-1; i++){
   for(int j = i+1; j < args.length; j++){
    if (args[i] > args[j]){
     int temp = args[i];
     args[i] = args[j];
     args[j] = temp;
    }
   }
  }
  for(int c = 0; c < args.length; c++){
   System.out.println("sort2:args====>"+args[c]);
  }
 }
 
 /*
  选择排序
 */
 public static void Sort3(int[] args){
  for (int i=0;i<args.length-1 ;i++ ){
   int min=i;
   for (int j=i+1;j<args.length ;j++ ){
    if (args[min]>args[j]){
     min=j;
    }
   }
   if (min!=i){
    int temp=args[i];
    args[i]=args[min];
    args[min]=temp;
   }
  }
  for(int c = 0; c < args.length; c++){
   System.out.println("sort3:args====>"+args[c]);
  }
 }
 /*
  插入排序
 */
 public static void Sort4(int[] args){
  for(int i = 1; i < args.length; i++){
   for(int j = i; j>0; j--){
    if(args[j] < args[j-1]){
     int temp = args[j-1];
     args[j-1] = args[j];
     args[j] = temp;
    }else break;
   }
  }
  for(int c = 0; c < args.length; c++){
   System.out.println("sort4:args====>"+args[c]);
  }
 }
 public static int[] getMax(int[] arr){
  int max = arr[0];
  int min = arr[0];
  for(int i = 1; i < arr.length; i++){
   if(arr[i] > max){
    max = arr[i];
   }
   if(arr[i] < min){
    min = arr[i];
   }
  }
  int[] val = new int[2];
  val[0] = min;
  val[1] = max;
  return val;
 }
}
1 0
原创粉丝点击