美文网首页
CUMTOJ数据结构实验内容1-2 problemI

CUMTOJ数据结构实验内容1-2 problemI

作者: Redcarp | 来源:发表于2019-06-18 00:15 被阅读0次

    1375 problem 后缀子串排序 C++

    题目描述

    对于一个字符串,将其后缀子串进行排序,例如grain
    其子串有:
    grain
    rain
    ain
    in
    n
    然后对各子串按字典顺序排序,即:
    ain,grain,in,n,rain

    输入

    每个案例为一行字符串。

    输出

    将子串排序输出

    样例输入

    grain
    banana
    

    样例输出

    ain
    grain
    in
    n
    rain
    a
    ana
    anana
    banana
    na
    nana
    

    程序如下

    #include<iostream>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    bool cmp(string s1,string s2)//--以升序形式排列 
    {
         return  s1 < s2;                  
    }
    int main ()
    {
        int i,j;
        char in[1000];//输入单词 
        string out[1000];//输出的数组,每个元素记录一个去掉一个字母的单词,未排序 
        //eg:输入grain,out[0]=grain,out[1]=rain 
        while(cin>>in)
        { 
            int len=strlen(in);//计算in这个数组实际有字符的长度 
            for(i=0;i<len;i++)
            {
                string c="";//重新设一个string类型的变量来记录每个out[i]值 
                for(j=i;j<len;j++)
                    c+=in[j];
                out[i]=c;   
            }   
            sort(out,out+len,cmp);//out+len不是out+1000 
            for(i=0;i<len;i++)
                cout<<out[i]<<endl;
        }
        return 0; 
    }
    

    相关文章

      网友评论

          本文标题:CUMTOJ数据结构实验内容1-2 problemI

          本文链接:https://www.haomeiwen.com/subject/zectqctx.html