Voltar

Array de sufixos - Strings

0 Curtidas
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
#define REP(i, n) for(int i = 0; i < n; i++)

using namespace std;

struct Letra
{
    char letra;
    char veces;
};

struct SAString
{
    char *s;
    int *letras;
    Letra *letrasTiene;
    int tam;
    int dp;

    SAString()
    {
        s = new char[1010];
        letras = new int[26];
        letrasTiene = new Letra[26];
    }

    void llenarLetras()
    {
        for(int i = 0; i < 26; i++)
        {
            letras[i] = 0;
            letrasTiene[i].veces = 0;
        }
        for(int i = 0; i < tam; i++)
        {
            letras[s[i] - 'a']++;
        }
        int cuenta = 0;
        for(int i = 0; i < 26; i++)
        {
            if(letras[i] > 0)
            {
                letrasTiene[cuenta].letra = i;
                letrasTiene[cuenta++].veces = letras[i];
            }
        }
        s[tam] = '$';
        s[++tam] = '
                  
Problemas relacionados
  Nome Comentário
Ainda não há nenhum problema relacionado a esse conteúdo

Comentários


Postagens neste fórum só são permitidas para membros com conta ativa. Por favor, efetue login or cadastro para postar.