tmcp Posted December 30, 2007 at 05:24 PM Report Share #157134 Posted December 30, 2007 at 05:24 PM Boas pessoal! Ando aqui de roda de listas e mais listas mas nao consigo encontrar nada em C de como fazer lista de listas. Se alguem pudesse indicar algum site ou qq coisa que ensina-se a fazer isto agradecia. O que quero fazer é um coisa deste tipo Link to comment Share on other sites More sharing options...
Guest id194 Posted December 30, 2007 at 05:28 PM Report Share #157137 Posted December 30, 2007 at 05:28 PM Sabes fazer uma simples lista ligada? Ou seja, tens um nodo, apontar para o próximo e assim sucessivamente até ao fim? Se sabes fazer isto, uma hipótese depois seria criar uma outra estrutura com 2 apontadores, um apontador aponta para o próximo nodo e o segundo apontador aponta para o inicio de uma determinada lista. Assim d euma forma muito básica era isto que eu faria. Link to comment Share on other sites More sharing options...
tmcp Posted December 30, 2007 at 05:32 PM Author Report Share #157139 Posted December 30, 2007 at 05:32 PM eu ja tenho as estruturas criadas. A tipo_lista_1 tem um apontador para tipo_lista_2 e um apontador para tipo_lista_1 prox. A tipo_ista_2 tem um apontador para prox. Isso ate ai sei fazer. Mas depois as ligaçoes entre listas saiem todas mal! Link to comment Share on other sites More sharing options...
Rui Carlos Posted December 30, 2007 at 05:39 PM Report Share #157140 Posted December 30, 2007 at 05:39 PM Crias uma lista que possa armazenar listas (ou melhor, que possam armazenar apontadores para qualquer coisa) e está feito. Admitindo que a lista vai ser também um apontador, já podes ter listas de listas (e listas de listas de listas de listas de listas...). Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
tmcp Posted December 30, 2007 at 05:47 PM Author Report Share #157145 Posted December 30, 2007 at 05:47 PM se conseguirem arranjar algum exemplo postem aqui sff Link to comment Share on other sites More sharing options...
TheDark Posted December 30, 2007 at 05:58 PM Report Share #157146 Posted December 30, 2007 at 05:58 PM Posta tu o que tens feito para podermos ver como estás a fazer as coisas e o que possivelmente está mal 😄 Desaparecido. Link to comment Share on other sites More sharing options...
tmcp Posted December 31, 2007 at 01:57 AM Author Report Share #157219 Posted December 31, 2007 at 01:57 AM #include <stdio.h> #include <stdlib.h> typedef struct tipo2{ int b; struct apt *prox; }tipo2; typedef struct tipo1{ int a; tipo2 *apt; struct tipo1 *prox; }tipo1; int ntipo1(tipo1 **inicio, tipo1 **fim){ int a; tipo1 *ap; ap=(tipo1*)malloc(sizeof(tipo1)); printf("ID:"); scanf("%d",&a); (ap->a)=a; (ap->apt)= ( (tipo2*) NULL); (ap->prox)=NULL; if(*inicio==(tipo1 *) NULL) *inicio=ap; else (*fim)->prox = ap; /* Faz a ligacao logica */ *fim = ap; /* Actualiza o ponteiro da fila */ return 1; } int ntipo2(tipo2 **init, tipo2 **end,tipo1 *inicio, tipo1 *ap){ int a,b; tipo2 *apf; printf("Qual o numero do ID?"); scanf("%d",&a); for(ap=inicio;ap!=NULL;ap=ap->prox){ if( (ap->a) == a) break; } printf("%d",(ap->a)); apf=(tipo2*)malloc(sizeof(tipo2)); printf("\nNum:"); scanf("%d",&b); (apf->b)=b; if( (ap->apt)== NULL ) (ap->apt)=*init; if(*init==NULL) *init=apf; else (*end)->prox = apf; /* Faz a ligacao logica */ *end = apf; /* Actualiza o ponteiro da fila */ return 0; } int main(void){ tipo1 *inicio; tipo2 *init; tipo1 *fim; tipo2 *end; tipo1 *ap; tipo2 *apf; nforn(&inicio,&fim); nforn(&inicio,&fim); nfact(&init,&end,inicio,ap); for(ap=inicio;ap!=NULL;ap=ap->prox){ for(apf=init;apf!=NULL;apf=apf->prox) printf("Numero do ID=%d, Numero da apt=%d",(ap->a),(apf->b)); } return 0; } Link to comment Share on other sites More sharing options...
Warrior Posted December 31, 2007 at 12:28 PM Report Share #157241 Posted December 31, 2007 at 12:28 PM O que é o nforn e o nfact? Suponho que sejam as funções para criar as listas, devias fornecê-las. De qualquer modo, repara que vais ter várias listas do tipo 2, de modo que não faz muito sentido teres apontadores explícitos para o seu início e fim. Link to comment Share on other sites More sharing options...
tmcp Posted December 31, 2007 at 02:54 PM Author Report Share #157247 Posted December 31, 2007 at 02:54 PM mas ter apontadores especificos para o fim e inicio esta relacionado com as listas tipo2?! podias fornecer algum exepmlo para ter uma nocao de como fazer? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now