suffixArray 질문

  • kjunking2002
    kjunking2002

    suffixArray 를 구하는 부분인데요

    struct SuffixComparator{
        const string& s;
        SuffixComparator(const string& s) : s(s) {}
        bool operator() (int i,int j)
        {
            return strcmp(s.c_str()+i,s.c_str()+j) < 0;
        }
    };
    vector<int> getSuffixArrayNaive(const string& s){
        vector<int> perm;
        for(int i=0;i<s.size();i++) perm.push_back(i);
    
        sort(perm.begin(),perm.end(),SuffixComparator(s));
        return perm;
    }
    

    struct 부분에서
    SuffixComparator(const string& s) : s(s) {}

    이코드가 무엇을 하는 코드인지 모르겠는데
    간략한 설명좀 해주실수 있나요


    10년 전
2개의 댓글이 있습니다.
  • kcm1700
    kcm1700

    SuffixComprator 생성자 정의고, SuffixComparator의 instance를 저 생성자를 통해 만들게 되면 생성자 인자의 문자열 s를 field s의 생성자에 넣어 field s를 초기화합니다.


    10년 전 link
  • JongMan
    JongMan

    initializer list라고 부릅니다. 한번 검색해보세용.


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.