不采用STL库,自定义排序的思路。(有些学校上机测试需要自定义函数)
#include <string>
using namespace std;
void ssort(string str[],int n){
int i,j;
string temp;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
int k=0;
while(str[i][k]!='\0'&&str[j][k]!='\0') {
if(str[i][k]>str[j][k]){
temp=str[i];
str[i]=str[j];
str[j]=temp;
break;
}else if(str[i][k]<str[j][k]){
break;
}else{
k++;
if(str[j][k]=='\0'){
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
continue;
}
}
}
}
}
int main(){
string str;
while(cin>>str){
string s[str.size()];
int i,j;
for(i=str.size()-1,j=1;i>=0;i--,j++){
s[i]=str.substr(i,j);
}
ssort(s, str.size());
for(i=0;i<str.size();i++){
cout<<s[i]<<endl;
}
}
}