JAVA 中陣列的幾種排序方法
阿新 • • 發佈:2019-01-06
1、陣列的氣泡排序
public void bubbleSort(int a[]) { int n = a.length; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1; j++) { if (a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } }
2、陣列的選擇排序
public 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、陣列的插入排序
public 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、設定兩層迴圈
for(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()方法:
//匯入包
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]+" ");
}
}
}
小示例:
Array stuInfo = Array.CrateInstance(typeOf(Student),5);
Array stuScore = Array.CreateInstance(typeOf(double),5);
Array.Sort(stuScore,stuInfo);
Array.Reverse(stuInfo);