listas c++

Páginas: 2 (366 palabras) Publicado: 9 de abril de 2013
Listas Enlazadas en C++:

Ejemplo

Paso

Tipos Básicos

Estructuras
struct Tcomplex
{
double p_r;
double p_i;
};
typedef Tcomplex *TPComplex;

typedef int *TPInt;

Definición delTipo typedef char *TPChar;

ó
typedef struct Tcomplex *TPComplex;
struct Tcomplex
{
double p_r;
double p_i;
};

Declaración de
varibles

TPInt p_int;
TPChar p_char;
p_int = new(int);p_char = new(char);

Petición de
if((p_int == NULL) ||
memoria (y
(p_char == NULL))
comprobación de
{
que la ha asignado)
Acceso I:
Modifición
Acceso II:
Consulta
Borrado

cout > *p_char;cout sig = NULL;
}

d

NULL

paux

2. Si la lista es vacía introducimos al principio:
NULL
if( l == NULL )
{
l = paux;
}

l

=>

l
d

d

NULL

NULL

paux

paux

3. Sino es vacía comprobamos si hay que añadir al principio:
e
if( l.dato > d )
{
paux->sig = l;
l = paux;
}

e

=>

l
d
paux


l

d

NULL
paux



4. Insertamos en medio
a/* Creamos un puntero auxiliar
para buscar la posición donde
insertar */
pbusca = l;

e



l
d

NULL

paux

pbusca
/* Recoremos la lista buscando
donde insertar */
while((pbusca->sig != NULL) &&
(pbusca->sig->datos < d))
{
pbusca = pbusca->sig;
}

b

a

b

e



l
d
paux

pbusca
a

/* Una vez encontrada la posición
insertamos el nuevo nodo */
paux->sig= pbusca->sig;
pbusca->sig = paux;

NULL

b

e

l
d
paux

pbusca
Borrar:

Borrar es similar a la insertar. Primero se comprueba si es vacía, en tal caso no
hacemos nada. Si no estávacía buscamos el elemento que queramos borrar, y una vez
localizado, lo sacamos de la lista y liberamos la memoria que tenía asignada1. Borrado del primer elemento
if(l->dato == d)
{
ptr = l;
l =l->sig;
delete(ptr);
}

d

e

... =>

d
l

l

ptr

ptr

e

...



2. Borrado de un elemento intermedio
/* Creamos dos punteros
auxiliares uno que examine la
posición...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Listas en c#
  • Listas en c
  • Listas c++
  • Listas en C++
  • Listas C++
  • Listas ligadas en c (dev c++)
  • Definición de un programa de listas en c
  • Lista Enlazada En C

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS