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
Ir a la versión completa