上海交通大学机试题——后缀字串排序(C++)
题目描述 Time Limit: 1000 ms Memory Limit: 256 mb 对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain 输入输出格式 输入描述: 每个案例为一行字符串。 输出描述: 将子串排序输出 输入样例: grain 输出样例: ain grain in n rain #include<iostream> #include<string> #include<string.h> #include<algorithm> using namespace std; int main(){ char s[105]; cin>>s; int count = strlen(s);//获取长度 string t[count]; for(int i = 0; s[i] != '\0'; i++){ for(int j = i; s[j] != '\0'; j++){ t[i] = t[i]+s[j]; }//把所有后缀依次求出放入t数组 } sort(t,t+count);//按照字典序排序 for(int i = 0; i < count; i++){ cout<<t[i]<<endl; } return 0; } 来源: CSDN 作者: