java字符串数组排序

对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就可以

猜你喜欢

转载自blog.csdn.net/m0_58177653/article/details/124585433