题解 | #后缀子串排序#

后缀子串排序

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

相关推荐

09-21 23:16
门头沟学院 Java
传奇逃兵王:招不起就别招,叽里咕噜说啥呢
点赞 评论 收藏
分享
27双非本,最近面试被挂麻了面试官说简历内容太简单了,技术栈要单独一行,各位佬有啥建议吗
LZStarV:项目太简单了,你像用什么开发的技术栈没必要写一句话,按点写就好了;有特色的比如说WebSocket、视频流这种狠狠吹,那就好看多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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