第一眼看到这个题还在想希尔排序模板不记得了,于是去网上了搜了一个,但是考虑到这种题只看测试点能不能通过,于是用Arrays方法试了一下,发现也可以。
1.希尔排序模板ac代码
package yunkePra;import java.util.Scanner;public class p10希尔排序模板题 {public static void shellSort(int[] arr) {int n = arr.length;for(int gap = n/2;gap>0;gap/=2) {for(int i=gap;i<n;i++) {int temp = arr[i];int j;for(j=i;j>=gap&&arr[j-gap]>temp;j-=gap) {arr[j] = arr[j-gap];}arr[j]=temp;}}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] arr = new int[n];for(int i=0;i<n;i++) {arr[i] = scanner.nextInt();}shellSort(arr);for(int i=0;i<n;i++) {System.out.print(arr[i]+" ");}}
}
2.Array.sort方法ac代码
package yunkePra;import java.util.Arrays;
import java.util.Scanner;public class p10test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] arr = new int[n];for(int i=0;i<n;i++) {arr[i] = scanner.nextInt();}Arrays.sort(arr);for(int i=0;i<arr.length;i++) {System.out.print(arr[i]+" ");}}
}