#include #include #include #include

using namespace std;

bool compare(string a, string b) { return a < b; }

vector getSuffixSubstrings(string str) { vector result; int len = str.length(); for (int i = 0; i < len; i++) { result.push_back(str.substr(i)); } return result; }

int main() { string input; while (cin >> input) { vector suffixSubstrings = getSuffixSubstrings(input); sort(suffixSubstrings.begin(), suffixSubstrings.end(), compare); for (string str : suffixSubstrings) { cout << str << endl; } } return 0; }

描述对于一个字符串将其后缀子串进行排序例如grain其子串有:grainrainaininn然后对各子串按字典顺序排序即:aingraininnrain输入描述每个案例为一行字符串。输出描述将子串排序输出希望能用c++编写代码输入:grainbanana输出:aingraininnrainaanaananabananananana

原文地址: http://www.cveoy.top/t/topic/jauF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录