对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n
然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入:每个案例为一行字符串。
输出:将子串排序输出
样例输入: grain 样例输出: ain grain in n rain 数据很烦人,多组 #include<iostream> #include<cstring> #include<cstdio> #include<queue> #include<stack> #include<algorithm> #include<cmath> using namespace std; bool cmp(string s1,string s2){ return s1<=s2; } int main(){ char s[1000]; while(cin>>s) { string a[1000]; int cnt=0; for(int i=0;i<strlen(s);i++){ string str=""; for(int j=i;j<strlen(s);j++){ str+=s[j]; } a[cnt++]=str; } sort(a,a+cnt,cmp); for(int i=0;i<cnt;i++){ cout<<a[i]<<endl; } } return 0; }
