您的位置:首页 > 编程语言 > Java开发

常用数组排序方法(Java实现)

2018-02-05 16:29 381 查看
[java] view plain copy1、数组的冒泡排序  
[java] view plain copypublic void bubbleSort(int a[]) {   
  
    int n = a.length;   
  
    for (int i = 0; i < n - 1; i++) {   
  
      for (int j = 0; j < n - 1- i; j++) {   
  
        if (a[j] > a[j + 1]) {   
  
          int temp = a[j];   
  
          a[j] = a[j + 1];   
  
          a[j + 1] = temp;   
  
        }   
  
      }   
  
    }   
  
}   
2、数组的选择排序 [java] view plain copypublic void selectSort(int a[]) {   
  
    for (int n = a.length; n > 1; n--) {   
  
      int i = max(a, n);   
  
      int temp = a[i];   
  
      a[i] = a[n - 1];   
  
      a[n - 1] = temp;   
  
    }   
  
}   
 3、数组的插入排序[java] view plain copypublic void insertSort(int a[]) {   
  
    int n = a.length;   
  
    for (int i = 1; i < n; i++) { //将a[i]插入a[0:i-1]   
  
      int t = a[i];   
  
      int j;   
  
      for (j = i - 1; j >= 0 && t < a[j]; j--) {   
  
        a[j + 1] = a[j];   
  
      }   
  
      a[j + 1] = t;   
  
    }   
  
}  
4、设置两层循环[java] view plain copyfor(int i=0;i<arrayOfInts.length;i++)   
  
{   
  
    for(int j=i+1;j<arrayOfInts.length;j++)   
  
    {    
  
      if(arrayOfInts[i]>arrayOfInts[j])   
  
      {   
  
        a=arrayOfInts[i];   
  
        arrayOfInts[i]=arrayOfInts[j];   
  
        arrayOfInts[j]=a;   
  
      }   
  
    }   
  
}   
5、还有一种方法就是用Arrays.sort()方法:[java] view plain copy//导入包   
  
import java.util.Arrays;  
  
  
  
public class Two3{   
  
  
  
    public static void main(String[]args)   
  
    {   
  
      int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127};   
  
  
  
      Arrays.sort(arrayOfInts);   
  
  
  
      for(int i=0;i<arrayOfInts.length-1;i++)   
  
      {   
  
        System.out.print(arrayOfInts[i]+" ");   
  
      }   
  
   }   
  
}  
小示例:[java] view plain copyArray stuInfo = Array.CrateInstance(typeOf(Student),5);  
  
Array stuScore = Array.CreateInstance(typeOf(double),5);  
  
Array.Sort(stuScore,stuInfo);  
  
Array.Reverse(stuInfo);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: