Como criar uma lista dinamica ?!
13/11/2004
0
é qeu gostaria de fazer uma lista dinamica com inicio final, prox a nterior mas já aprendi q o c tem um componente tlist q faz tudo isso, valeu pela atenção!!!!
:arrow: [color=red:a60fd0de61]Título alterado pelo Moderador oTTo. Removido: ´Lista´.[/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Seja mais claro no título.[/color:a60fd0de61]
:idea: [color=blue:a60fd0de61][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:a60fd0de61]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:a60fd0de61] Pesquisar[/url] no topo da Página.[/color:a60fd0de61]
:arrow: [color=red:a60fd0de61]Título alterado pelo Moderador oTTo. Removido: ´Lista´.[/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Seja mais claro no título.[/color:a60fd0de61]
:idea: [color=blue:a60fd0de61][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:a60fd0de61]
:idea: [color=blue:a60fd0de61]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:a60fd0de61]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:a60fd0de61] Pesquisar[/url] no topo da Página.[/color:a60fd0de61]
Luiz_aquino
Curtir tópico
+ 0
Responder
Posts
24/11/2004
Raimundo_farias
Blz.... Mais depois tenta ai....
não sei se tem algum erro, escrevi agora.
Depois testa ai... é sempre bom a a gente saber como isso funciona... vai que vc ñ pode usar o BCB.... eu sempre faço assim
Qualquer coisa é só postar!
typedef struct no { int info; struct no *prox; struct no *ant; }noLista; typedef struct cabeca { noLista inicio; noLista fim; }descritor; //aloca o inicio da lista. descritor *iniLista = (descritor *) malloc(sizeof(descritor)); void isereLista(int elem, descritor *minhaLista) { noLista *ant = NULL, *suc; //aloca um novo endereço para a informação noLista *novo = (noLista *) malloc(sizeof(noLista)); if(novo != NULL) { novo->prox = NULL; novo->ant = NULL; novo->info = elem; if(minhaLista->inicio == NULL){// testa se a lista está vazia minhaLista->inicio = novo; minhaLista->fim = novo; }else { suc = minhaLista->inicio; //procura o local de inserção while((suc != NULL) && (suc->info < elem)) { ant = suc; suc -> suc->prox; } if(ant == NULL){ //insere no inicio da lista novo->prox = minhaLista->inicio; minhaLista->inicio->ant = novo; minhaLista->inicio = novo; // atualiza o inicio da lista } else if((suc != NULL) && (suc->info > elem)){ //insere no meio novo->prox = ant->prox; novo->ant = ant; suc->ant = novo; ant->prox = novo; } else if(suc == NULL){ //insere no final novo->ant = minhaLista->fim; minhaLista->fim->prox = novo; minhaLista->fim = novo; //atualiza o final da lista. } } } } //(...) insereLista(36, iniLista); //depois é só chamar.
não sei se tem algum erro, escrevi agora.
Depois testa ai... é sempre bom a a gente saber como isso funciona... vai que vc ñ pode usar o BCB.... eu sempre faço assim
Qualquer coisa é só postar!
Responder
Clique aqui para fazer login e interagir na Comunidade :)