copiar una lista
struct listaTexto{
char *info;
listaTexto *sig;
};
quiero hacer una copia nueva con un metodo iterativo,
como hago?
no quiero que compartan lugares de memoria.
graicas
char *info;
listaTexto *sig;
};
quiero hacer una copia nueva con un metodo iterativo,
como hago?
no quiero que compartan lugares de memoria.
graicas
struct listaTexto *insertar (struct listaTexto*s, struct listaTexto *n) {
struct listaTexto *t=s;
if (t) {
while (t-sig) t=t-sig;
t-sig = n;
}
else s = n;
return s;
}
struct listaTexto* copyElement (struct listaTexto *n)
{
struct listaTexto *s = (struct listaTexto*) malloc (sizeof (struct listaTexto);
s->info = strdup (n->info);
s->sig = 0;
reutnr s;
}
struct listaTexto *copiar (struct listaTexto* lista)
{
listaTexto *t, *nueva;
for (t=lista; t; t=t->sig) {
nueva = insertar (nueva, copyElement(t));
}
return nueva;
}
Podrian usar nombres de estructuras mas cortos o hacer al menos un typedef...
struct listaTexto *t=s;
if (t) {
while (t-sig) t=t-sig;
t-sig = n;
}
else s = n;
return s;
}
struct listaTexto* copyElement (struct listaTexto *n)
{
struct listaTexto *s = (struct listaTexto*) malloc (sizeof (struct listaTexto);
s->info = strdup (n->info);
s->sig = 0;
reutnr s;
}
struct listaTexto *copiar (struct listaTexto* lista)
{
listaTexto *t, *nueva;
for (t=lista; t; t=t->sig) {
nueva = insertar (nueva, copyElement(t));
}
return nueva;
}
Podrian usar nombres de estructuras mas cortos o hacer al menos un typedef...
