Clase Practica 03 - Listas Enlazadas

1
1 Estructuras de datos Clase práctica 3 Contenido Listas enlazadas Material elaborado por: Julián Moreno Facultad de Minas, Departamento de Ciencias de la Computación y la Decisión Listas enlazadas Para trabajar con listas, Java ya tiene implementada la clase List de la librería java.util.* la cual posee varias implementaciones, siendo de nuestro interés LinkedList. Además, los métodos que nos interesan son prácticamente los mismos que los de la clase Vector: addFirst(e) Ingresa el elemento e al inicio de la lista add(e) Ingresa el elemento e al final de la lista add(i,e) Ingresa el elemento e en la posición i de la lista clear() Borra todos los elementos get(i) Devuelve el elemento en la posición i de la lista getFirst() Devuelve el primer elemento de la lista getLast() Devuelve el último elemento de la lista isEmpty() Devuelve verdadero si la lista está vacío indexOf(e) Devuelve la posición de la primera ocurrencia del elemento e dentro de la lista, o -1 si no está lastIndexOf(e) Devuelve la posición de la última ocurrencia del elemento e dentro de la lista, o -1 si no está remove(i) Borra el elemento en la posición i de la lista removeFirst() Borra el primer elemento de la lista removeLast() Borra el último elemento de la lista remove(e) Borra la primera ocurrencia del elemento e dentro de la lista. Devuelve true si el elemento se encuentra. set(i,e) Reemplaza el elemento en la posición i por e size() Devuelve la cantidad de elementos en la lista Listas enlazadas Listas enlazadas Veamos un ejemplo sencillo: import java.util.*; public class Main { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); List<long> numeros = new LinkedList<long>(); long x; String opcion; do{ System.out.println("Numero a ingresar en la lista: "); x = entrada.nextInt(); numeros.add(x); System.out.println("Desea ingresar otro número? (s/n): "); opcion = entrada.next(); } while (opcion.compareTo("s") == 0); System.out.println("Numeros ingresados\n" + numeros); //... Listas enlazadas //... do{ System.out.println("Numero a buscar: "); x = entrada.nextLong(); if (numeros.indexOf(x) >= 0){ System.out.println(x + " si esta en la lista"); } else{ System.out.println(x + " no esta en la lista"); } System.out.println("Desea buscar otro número? (s/n): "); opcion = entrada.next(); } while (opcion.compareTo("s") == 0); } } Ejercicios en CPP La meta del día es realizar los ejercicios “Inventario dinámico” y “Despidos masivos”

description

Clase Practica del curso de Estructuras De Datos de la Universidad Nacioanl Sede Medellin. Este curso hace parte de la malla curricular del Plan de Estudio de la Carrera Ingenieria de Sistemas.

Transcript of Clase Practica 03 - Listas Enlazadas

  • 1

    Estructuras de datos

    Clase prctica 3

    Contenido

    Listas enlazadas

    Material elaborado por: Julin Moreno

    Facultad de Minas, Departamento de Ciencias de la Computacin y la Decisin

    Listas enlazadas

    Para trabajar con listas, Java ya tiene implementada la clase List

    de la librera java.util.* la cual posee varias implementaciones,

    siendo de nuestro inters LinkedList.

    Adems, los mtodos que nos interesan son prcticamente los

    mismos que los de la clase Vector:

    addFirst(e) Ingresa el elemento e al inicio de la lista

    add(e) Ingresa el elemento e al final de la lista

    add(i,e) Ingresa el elemento e en la posicin i de la lista

    clear() Borra todos los elementos

    get(i) Devuelve el elemento en la posicin i de la lista

    getFirst() Devuelve el primer elemento de la lista

    getLast() Devuelve el ltimo elemento de la lista

    isEmpty() Devuelve verdadero si la lista est vaco

    indexOf(e) Devuelve la posicin de la primera ocurrencia del

    elemento e dentro de la lista, o -1 si no est

    lastIndexOf(e) Devuelve la posicin de la ltima ocurrencia del

    elemento e dentro de la lista, o -1 si no est

    remove(i) Borra el elemento en la posicin i de la lista

    removeFirst() Borra el primer elemento de la lista

    removeLast() Borra el ltimo elemento de la lista

    remove(e) Borra la primera ocurrencia del elemento e dentro de la

    lista. Devuelve true si el elemento se encuentra.

    set(i,e) Reemplaza el elemento en la posicin i por e

    size() Devuelve la cantidad de elementos en la lista

    Listas enlazadas Listas enlazadas Veamos un ejemplo sencillo:

    import java.util.*;

    public class Main {

    public static void main(String[] args) {

    Scanner entrada = new Scanner(System.in);

    List numeros = new LinkedList();

    long x;

    String opcion;

    do{

    System.out.println("Numero a ingresar en la lista: ");

    x = entrada.nextInt();

    numeros.add(x);

    System.out.println("Desea ingresar otro nmero? (s/n): ");

    opcion = entrada.next();

    } while (opcion.compareTo("s") == 0);

    System.out.println("Numeros ingresados\n" + numeros);

    //...

    Listas enlazadas //...

    do{

    System.out.println("Numero a buscar: ");

    x = entrada.nextLong();

    if (numeros.indexOf(x) >= 0){

    System.out.println(x + " si esta en la lista");

    }

    else{

    System.out.println(x + " no esta en la lista");

    }

    System.out.println("Desea buscar otro nmero? (s/n): ");

    opcion = entrada.next();

    } while (opcion.compareTo("s") == 0);

    }

    }

    Ejercicios en CPP

    La meta del da es realizar los ejercicios Inventario dinmico y Despidos masivos