Java使用Arrays类对数组排序
Arrays类中的sort()方法是从小到大排序数组,属于快速排序。
函数原型为:
static void sort(int[] a, int fromIndex, int toIndex)
后两个参数为数组需要排序的开始位置和结束位置,可选。
使用时需要import java.util.Arrays;
或者直接import java.util.*;
代码示例:
import java.util.*;
public class Solution{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0;i < n;i++){
a[i] = sc.nextInt();
}
Arrays.sort(a);
for(int k = 0;k < n;k++){
System.out.println(a[k]);
}
}
}
以上代码会从小到大依次输出数组中的元素。
代码示例2(选择可选参数):
注意此时的排序结束位置参数不能大于数组长度,否则会下标越界。
import java.util.*;
public class Solution{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0;i < n;i++){
a[i] = sc.nextInt();
}
Arrays.sort(a,2,5);//从数组下标为2的元素开始排序至下标为4(不是5)的元素。
for(int k = 0;k < n;k++){
System.out.println(a[k]);
}
}
}
以上代码如果输入数组为{7,6,5,4,3,2,1
},则排序完的数组为{7,6,3,4,5,2,1}
。