描述
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入描述:
每个案例为一行字符串。
输出描述:
将子串排序输出
示例1
输入:
grain
输出:
ain
grain
in
n
rain
示例代码:
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
string str;
cin>>str;
vector<string>arr(str.size());//定义一个字符串型的数组队列,用于存放原字符串的各后缀子串
for(int i=0;i<str.size();i++)
arr[i]=str.substr(i,str.size()-i);//截取后缀子串
sort(arr.begin(),arr.end());//对各子串排序
for(int i=0;i<str.size();i++)
cout<<arr[i]<<endl;
return 0;
}