描述
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入描述:
每个案例为一行字符串。
输出描述:
将子串排序输出
示例1
输入:
grain
输出:
ain grain in n rain
解题思路:
(1)利用字符串容器存放字串;
(2)每压入一个字串,就删除该字符串第一个字符;
代码:
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> vs; //定义字符串容器
string str;
while (cin >> str) {
for(int i=0;i<str.size();){
vs.push_back(str); //压入容器中
str.erase(0,1); //删除字符串第一个元素
}
sort(vs.begin(), vs.end()); //排序
for(int i=0;i<vs.size();i++){ //输出容器的字符串元素
cout<<vs[i]<<endl;
}
}
}