题目描述:
对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n
然后对各子串按字典顺序排序,即:
ain,grain,in,n,rain
代码:
package lanqiao;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext())
{
String s = sc.nextLine();
StringBuffer[] str = new StringBuffer[s.length()];
int i,j;
for(i = 0;i < str.length;i ++)
{
str[i] = new StringBuffer(s.substring(i,s.length())); //赋值
}
for(i = 0;i < str.length - 1;i ++)
{
for(j = i + 1;j < str.length;j ++)
{
if(str[i].compareTo(str[j]) > 0) //比较
{
StringBuffer t = str[i];
str[i] = str[j];
str[j] = t;
}
}
}
for(i = 0;i < str.length;i ++)
{
System.out.println(str[i].toString());
}
}
}
}