Ir ao conteúdo

Lista encadeada


fpaulico

Posts recomendados

Postado

Olá! Estou com uma dúvida sobre listas duplamente encadeadas em c++.

Dado um tipo struct eu criei uma funcao que aloca uma struct numa lista duplamente encadeada e uma funcao que cria a struct. Minha duvida é quando eu for deletar eu devo liberar a memoria heap usando free ou o delete? Na funcao que cria a struct eu uso malloc(sizeof()) conforme segue um exemplo:

TIPO DA STRUCT:

struct exemplo

{

int variavel1;

float variavel2;

exemplo prev; // posicao anterior a esta struct exemplo em uma lista

exemplo next; // posicao posterior a esta struct exemplo em uma lista

};

struct nodo

{

exemplo ex1;

exemplo ex2;

};

FUNCAO QUE ALOCA:

void addlist(int o que, nodo qual, nodo aonde)

{

switch(o que)

{

case CASO1: qual->ex1.next= primeiro; //primeiro tipo struct exemplo

qual->ex1.prev= NULL;

if(primeiro)

primeiro->prev= (exemplo*)qual;

primeiro= (exemplo*)qual;

break;

}

}

FUNCAO QUE CRIA

nodo novo(int o que, nodo *qual)

{

nodo no;

no=(nodo*)malloc(sizeof(o que));// para garantir portabilidade

switch(o que)

{

case CASO1: addlist(o que, no, NULL);

...

}

return(nodo);

}

COMO PODEM TER VARIOS TIPOS DE STRUCT EXEMPLO EXISTE UM enum PREDEFINIDO PARA ALGUNS TIPOS DE EXEMPLOS UISANDO A VARIAVEL o que

REPETINDO: MINHA DUVIDA E SE EU CRIAR UMA FUNCAO QUE ELIMINE UMA OU MAIS STRUCT EXEMPLOS DE UMA LISTA DUPPLAMENTE ENCADEADA EU DEVO USAR free OU delete ?

Postado

Uhm se você está programando em C++ pra que usar uma struct e malloc() para definir nós? Acho melhor você criar uma classe Lista e uma classe Nó e ai você cria nós via new e apaga via delete

Postado

Ok, respondendo, para malloc você usa free, pra new você usa delete, seu código não é C++ e não é possível ter espaço em nome de variável, o que gera erro de compilação o_que não gera, e eu recomendo você melhorar a escolha de nomes dentro do código.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!