目录
方法一:利用Java自带的Collections.sort( );
方法二:利用Set自动排序特性排序(但所排序的数列的数不能重复)
方法三:利用数组中Java自带的 Arrays.sort( );
BASIC-13数列排序
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5 8 3 6 4 9
样例输出
3 4 6 8 9
方法一:利用Java自带的Collections.sort( );
import java.util.Collections;
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
LinkedList<Integer> list = new LinkedList<>();
int n = s.nextInt();
for(int i=1;i<=n;i++) {
int number = s.nextInt();
list.add(number);
}
Collections.sort(list);
for(int i=0;i<list.size();i++) {
System.out.print(list.get(i)+" ");
}
}
}
方法二:利用Set自动排序特性排序(但所排序的数列的数不能重复)
import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); Set<Integer> set = new HashSet<>(); int n = s.nextInt(); for(int i=1;i<=n;i++) { int number = s.nextInt(); set.add(number); } for(int i :set) System.out.print(i+" "); } }
方法三:利用数组中Java自带的 Arrays.sort( );
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++) {
int number = s.nextInt();
arr[i]=number;
}
Arrays.sort(arr);
for(int i:arr) {
System.out.print(i+" ");
}
}
}
方法四:自写排序代码——冒泡排序实现
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); int[] arr = new int[n]; for(int i=0;i<n;i++) { int number = s.nextInt(); arr[i]=number; } miaopao1(arr); for(int i:arr) { System.out.print(i+" "); } } public static void miaopao1(int[] array){ int count1=0; for(int i=array.length-1;i>0;i--) { for(int j=0;j<i;j++) { if(array[j]>array[j+1]) { count1++; int temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } System.out.println(count1); } }
方法五:自写排序代码——选择排序实现1
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); int[] arr = new int[n]; for(int i=0;i<n;i++) { int number = s.nextInt(); arr[i]=number; } xuanze(arr); for(int i:arr) { System.out.print(i+" "); } } public static void xuanze(int[] array) { int min=array[0]; int count=0; for(int i=0;i<array.length-1;i++) { for(int j=i+1;j<array.length;j++) { if(array[j]<array[i]) { count++; min=array[j]; array[j]=array[i]; array[i]=min; } } } System.out.println(count); } }
方法六:自写排序代码——选择排序实现2
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); int[] arr = new int[n]; for(int i=0;i<n;i++) { int number = s.nextInt(); arr[i]=number; } xuanze1(arr); for(int i:arr) { System.out.print(i+" "); } } public static void xuanze1(int[] array) { int count=0; for(int i=0;i<array.length-1;i++) { int min=i; for(int j=i+1;j<array.length;j++) { if(array[j]<array[min]) { min=j; } } if(min!=i) { count++; int temp; temp=array[min]; array[min]=array[i]; array[i]=temp; } } System.out.println(count); } }
关注收藏哟!后期陆续退出排序的其他经典方法.................................