Arrays.sort算法的使用

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;

/**
 * 
 * Arrays.sort算法的使用
 * @author Monster丶ZF
 * @version1.8
 * @data 2019年4月14日
 * @remakeTODO
 */
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 ;  //随机生成0-10000的随机数字	
	}
     //long startTime = System.currentTimeMillis();
     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("排序后:");
     //long endTime = System.currentTimeMillis();
     
     for (int i = 0; i < nums.length; i++) {
    	 System.out.print(nums[i] + "\t");
	}
     System.out.println();
//     System.out.println("用时:"+ (endTime - startTime) + "毫秒");
     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");
	}
	}

}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/w15977858408/article/details/89294596
今日推荐