字符串 - 字符串排序

1. 字符串排序

对于许多排序应用来说,决定顺序的键都是字符串。给定一列字符串,需要按一定顺序排列整齐方便后序处理。

2.  键索引计数法

这个方法名字有点拗口,过程有点绕,但是每一步其实很简单。

举个简单的例子:

 

过程看着有点复杂,但是代码真的非常简单,一步一行就可以。

    public static void string_count(String[] a, int R)
    {
        int N = a.length;
        int[] Count = new int[R+1];
        String[] aux = new String[N];

        for(int i=0;i<N;i++)
            Count[a[i].key()+1]++; //计数
        for(int i=0;i<R;i++)
            Count[i+1] += Count[i]; //Count数组向前累加
        for(int i=0;i<N;i++)
            aux[Count[a[i].key()]++] = a[i];  //将元素分类
        
        for(int i=0;i<N;i++)
            a[i] = aux[i];  //回写
    }

猜你喜欢

转载自www.cnblogs.com/corineru/p/10799686.html