Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- using namespace std;
- struct SuffixArray
- {
- int id;
- string str;
- };
- void insert(string word,SuffixArray arr[])
- {
- for(int i = 0; i < word.length(); i++)
- {
- for ( int k = i ; k < word.length(); k++)
- {
- arr[i].str += word[k];
- }
- arr[i].id = i;
- }
- }
- void print(SuffixArray arr[],int size)
- {
- for ( int k = 0 ; k < size; k++)
- {
- cout << arr[k].str << "," << arr[k].id << endl;
- }
- }
- bool Compare(SuffixArray suf1,SuffixArray suf2)
- {
- if(suf1.str < suf2.str)
- return true;
- return false;
- }
- int main()
- {
- string word="banana";
- SuffixArray arr[word.length()];
- insert(word,arr);
- sort(arr,arr+word.length(),Compare);
- print(arr,word.length());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement