题目描述
对于一个字符串, 将其后缀子串进行排序, 例如 grain
其子串有:
- grain
- rain
- ain
- in
- n
然后对各子串按字典顺序排序, 即:
ain,grain,in,n,rain
输入
每个案例为一行字符串.
输出
将子串排序输出
样例输入
grain banana
样例输出
- ain
- grain
- in
- n
- rain
- a
- ana
- anana
- banana
- na
- nana
- #include<iostream>
- #include<algorithm>
- #include<cstring>
- using namespace std;
- string substring[10000];
- string str;
- int len;
- void create()
- {
- int l;
- for(int i=0;i<len;i++)
- {
- l=len-i;
- substring[i]=str.substr(i,l);
- }
- }
- int main()
- {
- while(cin>>str)
- {
- len=str.length();
- create();
- sort(substring,substring+len);
- for(int i=0;i<len;i++)
- cout<<substring[i]<<endl;
- }
- return 0;
- }
- View Code
来源: http://www.bubuko.com/infodetail-3108106.html