sábado, 3 de octubre de 2020

programació destructor

estructura node-llista
{
int *anterior;
int *abaish-esquerra;
int *abaish;
int *abaish-dreta;
int *seguent;
}

estructura sub-node-llista
{
int *adalt-esquerra;
}
estructura sub-node-llista
{
int *adalt;
}
estructura sub-node-llista
{
int *adalt-dreta;
}

estructura llista
{
int *principi-de-llista;
int *avall-esquerra;
int *avall;
int *avall-dreta;
int *final-de-llista;
}

estructura sub-llista
{
int *amunt-esquerra;
}
estructura sub-llista
{
int *amunt;
}
estructura sub-llista
{
int *amunt-dreta;
}

construir-node-de-llista-en-final( int *llista )
{
node = construir-node( sizeof(estructura) );
sub-node-esquerra = construir-node( sizeof(sub-estructura) );
sub-node = construir-node( sizeof(sub-estructura) );
sub-node-dreta = construir-node( sizeof(sub-estructura) ); 

node->abaish-esquerra = sub-node-esquerra;
sub-node-esquerra->adalt-esquerra = node;

node->abaish = sub-node;
sub-node->adalt = node;

node->abaish-dreta = sub-node-dreta;
sub-node-dreta->adalt-dreta = node;

node->anterior = final-de-llista;
final-de-llista->seguent = node;
final-de-llista = node;
}

construir-node-de-llista-en-principi( int *llista )
{
node = construir-node( sizeof(estructura) );
sub-node-esquerra = construir-node( sizeof(sub-estructura) );
sub-node = construir-node( sizeof(sub-estructura) );
sub-node-dreta = construir-node( sizeof(sub-estructura) ); 

node->abaish-esquerra = sub-node-esquerra;
sub-node-esquerra->adalt-esquerra = node;

node->abaish = sub-node;
sub-node->adalt = node;

node->abaish-dreta = sub-node-dreta;
sub-node-dreta->adalt-dreta = node;

node->seguent = principi-de-llista;
principi-de-llista->anterior = node;
principi-de-llista = node;
}

construir-llista( int *llista )
{
llista = construir-node( sizeof(estructura) );
sub-llista-esquerra = construir-node( sizeof(sub-estructura) );
sub-llista = construir-node( sizeof(sub-estructura) );
sub-llista-dreta = construir-node( sizeof(sub-estructura) ); 
node = construir-node( sizeof(estructura) );
sub-node-esquerra = construir-node( sizeof(sub-estructura) );
sub-node = construir-node( sizeof(sub-estructura) );
sub-node-dreta = construir-node( sizeof(sub-estructura) ); 

llista->avall-esquerra = sub-llista-esquerra;
sub-llista-esquerra->amunt-esquerra = llista;

llista->avall = sub-llista;
sub-llista->amunt = llista;

llista->avall-dreta = sub-llista-dreta;
sub-llista-dreta->amunt-dreta = llista;

node->abaish-esquerra = sub-node-esquerra;
sub-node-esquerra->adalt-esquerra = node;

node->abaish = sub-node;
sub-node->adalt = node;

node->abaish-dreta = sub-node-dreta;
sub-node-dreta->adalt-dreta = node;

llista->principi-de-llista = node;
llista->final-de-llista = node;
}

No hay comentarios:

Publicar un comentario