Ejemplo Lista Lineal

22
Programación No Numérica I primero OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista 1- Lista<int> ListaNumeros Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica . ListaNumeros NULL

description

listas

Transcript of Ejemplo Lista Lineal

Page 1: Ejemplo Lista Lineal

Programación No Numérica I

primero

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

1- Lista<int> ListaNumeros

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

ListaNumeros

NULL

Page 2: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

? Ap

primero

ListaNumeros

NULL

Page 3: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

Info

der

?

?

? Ap

primero

ListaNumeros

NULL

nuevo=new Nodo<Tipo>;

Page 4: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

Info

der

5

?

? Ap

primero

ListaNumeros

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);

Page 5: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

Info

der

5

NULL

? Ap

primero

ListaNumeros

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);nuevo->AsigDer(primero):

Page 6: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

Info

der

5

NULL

? Ap

primero

ListaNumeros

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);nuevo->AsigDer(primero);primero=nuevo;

Page 7: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

Info

der

5

NULL

Ap

primero

ListaNumeros

Page 8: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

Info

der

5

NULL

Ap

primero

ListaNumeros

Info

der

?

?

nuevo=new Nodo<Tipo>;

Page 9: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

Info

der

5

NULL

Ap

primero

ListaNumeros

Info

der

-8

?

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);

Page 10: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

Info

der

5

NULL

Ap

primero

ListaNumeros

Info

der

-8

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);nuevo->AsigDer(p->btDer());

Page 11: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);nuevo->AsigDer(p->btDer());p->AsigDer(nuevo);

Page 12: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

NULL

Page 13: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

NULL

Info

der

nuevo=new Nodo<Tipo>;

?

?

Page 14: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeroa.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

NULL

Info

der

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);

-10

?

Page 15: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeroa.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

NULL

Info

der

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);nuevo->AsigDer(p->tDer());

-10

NULL

Page 16: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeroa.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(valor);nuevo->AsigDer(p->tDer());p->AsigDer(nuevo);

-10

NULL

Page 17: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeroa.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

Page 18: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

9-ListaNumero.InsComienzo(7);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

nuevo=new Nodo<Tipo>;

Info

der

?

?

Page 19: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

9-ListaNumero.InsComienzo(7);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);

Info

der

7

?

Page 20: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

9-ListaNumero.InsComienzo(7);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);nuevo->AsigDer(primero);

Info

der

7

Page 21: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

9-ListaNumero.InsComienzo(7);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

nuevo=new Nodo<Tipo>;nuevo->AsigInfo(Valor);nuevo->AsigDer(primero);

Info

der

7

Page 22: Ejemplo Lista Lineal

Programación No Numérica I

OPERACIONES DE UNA LISTA LINEAL SIMPLEMENTE ENLAZADA

Seguimiento en memoria de las instrucciones de una aplicación que carga un Lista Lineal de números enteros, colocando los positivos de primero en la lista y los negativos al final de la lista

Instrucciones del Programa Objetos en Memoria Estática Objetos en Memoria Dinámica .

1- Lista<int> ListaNumeros;

2- Nodo<int>* Ap;

3-ListaNumero.InsComienzo(5);

4- Ap=ListaNumeros.ObtPrimero();

5-ListaNumeros.InsDerecho(Ap,-8);

6-Ap=Ap->ObtDer();

7-ListaNumeros.InsDerecho(Ap,-10);

8-Ap=Ap->ObtDer();

9-ListaNumero.InsComienzo(7);

Info

der

5

Ap

primero

ListaNumeros

Info

der

-8

Info

der

-10

NULL

Info

der

7

Elementos en la Lista : 7,5,-8,-10