Programación General > C/C++

 Re: Como declarar un arreglo de listas

(1/1)

ucablex:
necesito crear un diccionario, con un arreglo de 26 casillas (numero de letras), que contenga listas enlazadas (palabras por letra), como declaro el arreglo de listas, y como hago la asignacion al arreglo.

adocrates:

--- Código: Text ---struct diccionario{    char *palabra;    struct diccionario next;}; struct diccionario *Diccionario[26];struct diccionario *pDic;...//suponemos que la palabra ya esta parseada y en MAYUSCULASletra=palabra_nueva[0];if(Diccionario[letra-'A']==NULL){    Diccionario[letra-'A']=malloc(sizeof(struct diccionario));    Diccionario[letra-'A']->next=NULL;    Diccionario[letra-'A']->palabra=strdup(palabra_nueva);}else{    for(pDic=Diccionario[letra-'A'];pDic->next!=NULL;pDic=pDic->next); //llegamos al ultimo    pDic=malloc(sizeof(struct diccionario));    pDic->next=NULL;    pDic->palabra=strdup(palabra_nueva);}  


Espero que te sirva...  OjO No olvides hacer un ciclo final liberando palabra y diccionario.:D

ucablex:
typedef struct nodos
{
cadena elemento;
struct nodos *sig
} Nodo_Lista,*Lista;  
Nodo_Lista **LPtr[27];void Lee_Asigna_D(FILE *DIC)
{
   Lista D_nario = NULL;
   char *tokensPtr;
   {
   
   
    for (int i=1;!feof(DIC);i++)
    {    
        D_nario = NULL;
        fgets(Palabra,250,DIC);
          tokensPtr = strtok(Palabra," ");


        while ( tokensPtr != NULL)
         {
           strcpy(word,tokensPtr);
           printf("%sn",word);
           D_nario = Lista_Enlazada(D_nario,word);
           getch();
           tokensPtr = strtok (NULL," ");
         }
   
     LPtr = &D_nario;
     printf("%dn",i);
     ordenar(D_nario);
     imprimir(D_nario);
   }
  }
}

Navegación

[0] Índice de Mensajes

Ir a la versión completa