sort系统内的快速排序,需要导入import java.util.Arrays; 就可以使用sort快速排序
语法: Arrays.sort(数组名);即可,但是它是默认从小到大排序的
比如排序8个数,我们可以通过逆序方式变成从大到小排序 8个数,以数组下标值为例,下标0和下标7换,下标1和下标6换
下标2和下标5换,下标3和下标4换,已经换好,不要i++到4和下标3换,不然就又换回来了,所以
i < nums.length / 2. 结论: i 和nums.length - 1 - i对应交换
即: Arrays.sort(nums);
for(int i = 0;i < nums.length / 2; i++)
int temp = nums[i];
nums[i] = nums[nums.length - 1 - i];
nums[nums.length - 1 - i] = temp;
}
import java.util.Arrays;
public class SortDemo {
public static void main(String[] args) {
final int N = 10;
int[] nums = new int[N];
for (int i = 0; i < nums.length; i++) {
nums[i] = (int)(Math.random()*10000) % 10001 ;
}
System.out.println("排序前:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + "\t");
}
System.out.println();
Arrays.sort(nums);
System.out.println("排序后:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + "\t");
}
System.out.println();
for (int i = 0; i < nums.length / 2; i++) {
int temp = nums[i];
nums[i] = nums[nums.length- 1 - i];
nums[nums.length- 1 - i] = temp;
}
System.out.println("逆序后:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + "\t");
}
}
}