C/Traballar con listas encadeadas: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
m →‎Engadir un elemento á lista: Corrixida errata na chamada a malloc() (by Sherpard)
Gallaecio (conversa | contribucións)
mSen resumo de edición
Liña 36:
{
estrutura * punteiro;
 
punteiro = (estrutura *) malloc(sizeof(estrutura));
if(punteiro == NULL)
Liña 41 ⟶ 42:
printf("Houbo un erro: non hai memoria abondo.\n");
}
 
return punteiro;
}
Liña 50 ⟶ 52:
{
// Declaración de variables
estrutura * elementonovo = NULL;
estrutura * lista = NULL;
estrutura * anterior = NULL;
 
elementonovo = CrearUnBloque(); // Pídese espazo para un elemento novo. A función corresponderíase coa anterior.
if(elementonovo == NULL)
{
printf("Non se puido reservar espazo para un novo elemento.\n");
Liña 71 ⟶ 73:
if(anterior == NULL) // Se a lista está baleira...
{
elementonovo->dato = dato; // Métese o dato no elemento reservado para o mesmo.
elementonovo->seguinte = lista; // Só haberá un elemento, o punteiro ao seguinte elemento será “lista”, nulo.
*punteiro = elementonovo; // O punteiro á lista apunta ao elemento, dado que é o único da lista.
}
else
{
elementonovo->dato = dato; // Métese o dato no elemento reservado para o mesmo.
elementonovo->seguinte = lista; // Punteiro ao seguinte elemento, ou a nada se é o último elemento.
anterior->seguinte = elementonovo;
}