题解 | #后缀子串排序#

后缀子串排序

http://www.nowcoder.com/practice/f89f96ea3145418b8e6c3eb75773f65a

不采用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;
        }
    }
    
    
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务