Septimus C Postado Outubro 9, 2012 Denunciar Share Postado Outubro 9, 2012 Fala pessoal, criei uma TAD da lista duplamente encadeada para usar no meu trabalho da faculQuero saber se eu colocar o operador[] e acessá-la como array quebraria o conceito de Listavlws Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Utikawa da Fonseca Postado Outubro 9, 2012 Denunciar Share Postado Outubro 9, 2012 Boa tarde!O que você diz é que criou a estrutura de dados e as funções para manipulá-las e quer saber se pode acessar os dados diretamente, correto?Como o conceito da TAD é a abstração e independência do seu código da implementação, o uso do array diretamente quebra esse paradigma...Veja que quebra o conceito da TAD, não o conceito da Lista!Talvez possam haver opiniões diferentes mas este é o meu ponto de vista. :)Abraços,Marcelo Utikawa da Fonseca Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Septimus C Postado Outubro 12, 2012 Autor Denunciar Share Postado Outubro 12, 2012 VlwsEu pensei que seria apenas mais uma facilidade colocada para encontrar os valores da lista, não lembrei do conceito das TAD.Realmente, postei a mesma pergunta em outros fóruns e obtive respostas diferentes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateus GP Postado Outubro 24, 2012 Denunciar Share Postado Outubro 24, 2012 Sim quebraria, pois uma lista duplamente encadeada não pode ser acessada como um array.Veja um exemplo da estrutura de uma lista encadeada:typedef struct _Lista{ int elemento; struct _Lista *prev; struct _Lista *next;} Lista;[code]Como pode ser observado uma lista encadeada é dinamica, ou seja, pode ser adicionar infinitos elementos, diferente de um vetor que possui um tamanho fixo.O acesso a um elemento é feito assim:[code]int getnum(int p, Lista *ls){ Lista *tmp while(p >= 0) { Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateus GP Postado Outubro 24, 2012 Denunciar Share Postado Outubro 24, 2012 Sim quebraria, pois uma lista duplamente encadeada não pode ser acessada como um array.Veja um exemplo da estrutura de uma lista encadeada:typedef struct _Lista{ int elemento; struct _Lista *prev; struct _Lista *next;} Lista;[code]Como pode ser observado uma lista encadeada é dinamica, ou seja, pode ser adicionar infinitos elementos, diferente de um vetor que possui um tamanho fixo.O acesso a um elemento é feito assim:[code]int getnum(int p, Lista *ls){ Lista *tmp while(p >= 0) { Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateus GP Postado Outubro 24, 2012 Denunciar Share Postado Outubro 24, 2012 (editado) Sim quebraria, pois uma lista duplamente encadeada não pode ser acessada como um array.Veja um exemplo da estrutura de uma lista encadeada:typedef struct _Lista { int elemento; struct _Lista *prev; struct _Lista *next; } Lista; Como pode ser observado uma lista encadeada é dinamica, ou seja, pode ser adicionar infinitos elementos, diferente de um vetor que possui um tamanho fixo. O acesso a um elemento é feito assim: int getnum(int p, Lista *ls) { Lista *tmp tmp = ls; while(p >= 0) { if(tmp->next != NULL) tmp = tmp->next; p--; } return tmp->elemento; } Editado Outubro 24, 2012 por Mateus GP Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Outubro 24, 2012 Denunciar Share Postado Outubro 24, 2012 Mateus, só uma dica. Edite seus posts invés de postar novos para evitar encher o tópico. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateus GP Postado Outubro 26, 2012 Denunciar Share Postado Outubro 26, 2012 (editado) Não foi isso, ocorreu um erro no meu navegador, então cliquei uma vez não enviou, duas tambem não (segundo meu navegador)... Depois quando atualizei já estava este monte de dump, mas da para notar que todas foram eviadas praticamente no mesmo momento.Mudando um pouco de foco, sou novo no forum e queria saber se quando ocorre isso há algum modo de desfazer o erro. Editado Outubro 26, 2012 por Mateus GP Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Outubro 27, 2012 Denunciar Share Postado Outubro 27, 2012 Então Mateus..tenho a mesma dúvida que você. Até hoje não descobrir como apagar post, ¬¬. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Septimus C
Fala pessoal, criei uma TAD da lista duplamente encadeada para usar no meu trabalho da facul
Quero saber se eu colocar o operador[] e acessá-la como array quebraria o conceito de Lista
vlws
Link para o comentário
Compartilhar em outros sites
8 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.