Guest - Marcos - Postado Junho 6, 2006 Denunciar Share Postado Junho 6, 2006 Gostaria de saber como uqe eu faço um algoritimo que quando o usuario digitar algo já va diretamente para uma estrutura lista, para quando eu imprimir sair tudo ao contrario. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ø£¡vë¡®'§® Postado Junho 6, 2006 Denunciar Share Postado Junho 6, 2006 oba fiaum... olha por sorte eu estava implementando só que não é uma lista e sim uma fila...mais o conceito é bem parecido.a diferença é que fila você inseri no final e retira do começo...já lista geralmente insere no final e retira do final mesmo...bom eu fiz isso pra estudar para uma prova de ED.bom...a minha estrutura é dinamica...abaixo segue o código de uma estrutura de lista em C. #include<stdio.h> #include<conio.h> #include<malloc.h> typedef struct no{ int dado; struct no *prox; } *def_fila; void inicializa(def_fila *fila){ (*fila) = NULL; } int vazia (def_fila *fila){ return ((*fila) == NULL); } int aloca(def_fila *fila, int d){ def_fila que = (def_fila) malloc(sizeof(struct no)); def_fila f; if (que != NULL){ que->dado = d; que->prox = NULL; if (!vazia(fila)){ f = (*fila); while (f->prox != NULL) f = f->prox; f->prox = que; } else { (*fila) = que; } return 1; } else { return 0; } } int destroi (def_fila *fila, int *d){ def_fila que = (*fila); if (!vazia(fila)){ (*d) = que->dado; (*fila) = que->prox; free(que); return 1; } else { return 0; } } void menu (char *op){ system ("CLS"); printf("\nESCOLHA A OPCAO DA FILA ______"); printf("\n1 - inserir"); printf("\n2 - remover"); printf("\n3 - encerrar"); printf("\n\nOPCAO ~>"); (*op) = getche(); } int main(){ def_fila fil; int dado; char opcao = '1'; inicializa(&fil); while (opcao != '3'){ menu(&opcao); switch(opcao){ case '1' : system ("CLS"); printf("\nINSERINDO : digite um numero para inserir : "); scanf("%d",&dado); if (aloca(&fil,dado)) printf("\n\ndado inserido com sucesso..."); else printf("\n\nmemoria esgotada..."); getch(); break; case '2' : system ("CLS"); if (destroi(&fil,&dado)) printf("\nO dado %d foi excluido da fila...",dado); else printf("\nFILA VAZIA _______ unesp bauru ____"); getch(); break; case '3' : system ("CLS"); printf("\n\n\tPROGRAMA ENCERRADO"); printf("\n\tUNESP - CAMPUS DE BAURU"); break; } } getch(); return 0; } qualquer duvida estarei por aí...abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Junho 6, 2006 Denunciar Share Postado Junho 6, 2006 Muito obrigado Felipe pela força!!!!!Foi de grande serventia, valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Junho 6, 2006 Denunciar Share Postado Junho 6, 2006 não entendi a parte que usa o "que"int aloca(def_fila *fila, int d){ def_fila que = (def_fila) malloc(sizeof(struct no)); def_fila f; if (que != NULL){ que->dado = d; que->prox = NULL; if (!vazia(fila)){ f = (*fila); while (f->prox != NULL) f = f->prox; f->prox = que; } else { (*fila) = que; } return 1; } else { return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ø£¡vë¡®'§® Postado Junho 6, 2006 Denunciar Share Postado Junho 6, 2006 fera na verdade esse que era pra ser que é que na hora de postar o forum alteirou sozinho... mais isso não muda em nada... mais vamos la...quando eu façodef_fila que = (def_fila) malloc(sizeof(struct no));eu estou alocando um espaço de memoria onde "suporte" uma estrutura do tipo "no"ai é como se fosse um auxiliar... então eu reservo um espaço de memoria alocando ela... depois disso eu faço as movimentações necessaria...ou seja fazendo com que o "que" seja apontado pelo ultimo elemento da lista ...por isso fiz "def_fila f;"que no caso seria uma estrutura auxiliar onde eu utilizo "f"para percorrer a fila inteira até chegar em seu ultimo elemento ou seja f->prox == NULL para então colocar o valor "que" la...basicamente isso! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Marcos -
Gostaria de saber como uqe eu faço um algoritimo que quando o usuario digitar algo já va diretamente para uma estrutura lista, para quando eu imprimir sair tudo ao contrario.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.