对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n
然后对各子串按字典顺序排序,即:
grain
banana
ain
grain
in
n
rain
a
ana
anana
banana
na
nana
这题可以用sort函数来解,头文件为 # include< algorithm >
/*
* sort函数 (带三个参数)
* @author hy by 2019_04_16
*/
#include
#include
#include
using namespace std;
bool cmp(string s1,string s2){
return s1 < s2;
}
int main (){
int i,j;
char in_str[1000];
string out_str[1000];
while(cin>>in_str){
int len=strlen(in_str);
for(i=0;i<len;i++){
string c_str="";
for(j=i;j<len;j++)c_str+=in_str[j];
out_str[i]=c_str;
}
sort(out_str.begin(),out_str.end(),cmp);
for(i=0;i<len;i++){
cout<<out_str[i]<<endl;
}
}
return 0;
}