-
题目描述:
-
对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n然后对各子串按字典顺序排序,即:
ain,grain,in,n,rain
-
输入:
-
每个案例为一行字符串。
-
输出:
-
将子串排序输出
-
样例输入:
-
grain
-
样例输出:
-
ain grain in n rain
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
#include<stack>
#include<algorithm>
#include<cmath>
using namespace std;
bool cmp(string s1,string s2){
return s1<=s2;
}
int main(){
char s[1000];
while(cin>>s) {
string a[1000];
int cnt=0;
for(int i=0;i<strlen(s);i++){
string str="";
for(int j=i;j<strlen(s);j++){
str+=s[j];
}
a[cnt++]=str;
}
sort(a,a+cnt,cmp);
for(int i=0;i<cnt;i++){
cout<<a[i]<<endl;
}
}
return 0;
}