对String类型的字符串数组进行排序
比如:
String s[]={"asf","bad","asds","assd"}
这里
s[0]="asf"
s[1]="bab"
....
排序:
String s[]={"asf","bad","asds","assd"};
n=s.length;
Arrays.sort(s,0,n);
for(int i=0;i<n;i++)
System.out.println(s[i]);
直接用Arrays.sort进行排序即可,从下标是 0 - n-1,别的文章一堆堆都是什么玩意,大半夜又是冒泡时间太大,又是结构体排一半的序,又是手写快拍排错了数组
时间复杂度是sort的 nlogn,注意排序的下标区间中的字符串都是赋过值的数组,如果有没赋值的字符串就会报错,排序范围经常会错,sort(a,b,c),排的范围是 b - (c-1)
acm输入输出像下面这样
import java.util.*;
public class Main {
static int n;
static String s[]=new String[100050];
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
n=cin.nextInt();
for(int i=0;i<n;i++){
s[i]=cin.next();
}
//一键排序
Arrays.sort(s,0,n);
for(int i=0;i<n;i++)
System.out.println(s[i]);
}
}
/*
3
abas
asd
sdf
*/
不知道为什么,把字符串String放类里面的话,只能排一半的序,不完全还是错的
这个Arrays.sort就可以