题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入输出格式
输入描述:
每个案例为一行字符串。输出描述:
将子串排序输出
输入样例:
grain
输出样例:
ain grain in n rain
#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
int main(){
char s[105];
cin>>s;
int count = strlen(s);//获取长度
string t[count];
for(int i = 0; s[i] != '\0'; i++){
for(int j = i; s[j] != '\0'; j++){
t[i] = t[i]+s[j];
}//把所有后缀依次求出放入t数组
}
sort(t,t+count);//按照字典序排序
for(int i = 0; i < count; i++){
cout<<t[i]<<endl;
}
return 0;
}