////////////////////////////////////////////////////////////////////////////////////////////////////// //字符串sort函数,#4 //////////////////////////////////////////////////////////////////////////////////////////////////// #include <iostream> #include <cstdio> #include <string> #include <algorithm> using namespace std; bool Compare(string x,string y) { int i; for(i=0;i<x.size()&&i<y.size(); ++i) { if(x[i]!=y[i]) { return x[i]<y[i]; } } return i==x.size(); //前面都相等的话,短的那个放前面 #1 } int main() { string str; while(cin>>str) { string substr[str.size()]; //这个肯定得知道str长度之后,才能用 #2 for(int i=0; i<str.size(); ++i) { substr[i]=str.substr(i); } sort(substr,substr+str.size(),Compare); //能用sort,放心用#3 // sort(substr,substr+str.size(),1); //这个不能这么写,最后一个位置必须写函数 #4 for(int i=0; i<str.size(); ++i) { cout<<substr[i]<<endl; } } }