-
对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n然后对各子串按字典顺序排序,即:
ain,grain,in,n,rain -
每个案例为一行字符串。
-
将子串排序输出
-
grain
-
ain grain in n rain
-
题目描述:
-
输入:
-
输出:
-
样例输入:
-
样例输出:
本题重要考察的是 字符串的截断函数substr(index,num),index表示从第几位开始截断,num表示截断的位数。
还有一点是 sort排序函数,只要重新对于cmp比较策略进行重载即可。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(string a,string b){
if(a < b)
return true;
else
return false;
}
int main(){
string str;
string sub_str[110];
while(cin>>str){
int len = str.length();
for(int i=0;i<len;i++){
sub_str[i] = str.substr(i,len - i);
}
sort(sub_str,sub_str+len,cmp);
for(int i=0;i<len;i++){
cout<<sub_str[i]<<endl;
}
}
return 0;
}