lunes, 23 de noviembre de 2015

LISTAS ENLAZADAS DEBER#1

Clase Conjunto:


Método unión:

Descripción
Genera un conjunto el cual es la unión de los dos conjuntos enviados por parámetros.

Algoritmo
  1. Se crea una lista vacía la cual va a representar al conjunto unión.
  2. Se verifica si algún conjunto es vacío, si ocurre eso simplemente devuelve el conjunto no vacío.
  3. Si ambos conjuntos tienen elementos:
    • Agrega todos los elementos del primer conjunto a unión.
    • Recorre los elementos del segundo conjunto y si no están presentes en unión los agrega.
Método unión

Método intersección:

Descripción
Genera un conjunto el cual es la intersección de los dos conjuntos enviados por parámetros

Algoritmo
  1. Se crea una lista vacía la cual va a representar al conjunto intersección.
  2. Se recorre los elementos del primer conjunto y se los compara con cada uno de los elementos del segundo conjunto.
  3. En caso de ser iguales comprueba si no se encuentran en intersección y de ser así los agrega.
Método intersección

Método diferencia:

Descripción
Genera un conjunto el cual es la diferencia de los dos conjuntos enviados por parámetros. Es decir, los elementos que pertenecen al primer conjunto pero que no estén presentes en el segundo.

Algoritmo
  1. Se crea una lista vacía la cual va a representar al conjunto diferencia
  2. Verifica si alguno de los dos conjuntos está vacío. Ya que si es así existen 2 posibilidades
    1. Si el conjunto 1 es vacío entonces debe devolver un conjunto vacío sin importar el conjunto 2
    2. Si el conjunto 2 es vacío entonces debe devolver al conjunto 1 como está.
    3. Por lo tanto en ambos casos devuelve una copia de conjunto 1
  3. Si ambos conjuntos tienen datos:
    1. Se recorre el conjunto 1 y si el elemento no esta presente en el conjunto 2 entonces lo agrega a diferencia.


Método diferencia

Método guardar:

Descripción
Guarda en el archivo resultados.txt el conjunto que recibe como parametro..

Algoritmo

  1. Se declara  las variables necesarias para guardar en un archivo sin sobre-escribirlo:
    • File
    • FileWriter
    • PrintWriter
    • String
    • Nota: La mezcla de las variables tipo FileWriter junto con PrintWriter me permiten escribir en un archivo sin sobre-escribirlo
  2. Se verifica si el archivo existe:
    • Si el archivo no existe lo crea
    • Caso contrario salto al paso 3

  3. Para cada coordenada del conjunto obtengo su representación en String con el método toString() y lo guardo en el archivo
  4. Finalmente cierra las variables de escritura y el archivo
Método guardar

Clase Programa: 

Método cargar:

Descripción:
Genera una lista de coordenadas a partir de Strings obtenidas de un archivo.
Las coordenadas del archivo se encuentran una en cada línea y tienen el formato:
          latitud, longitud, Ciudad     Ejemplo:
          50,50,Ciudad 5
Algoritmo:
  1. Se declara las variables necesarias para leer un archivo:
    • FileReader
    • BufferedReader
    • String
    • Colección de String: String[]
    • Coordenada
    • LinkedList<Coordenada>
  2. Abrir el archivo y generar el almacenador de String
  3. Mientras existan lineas dentro del archivo:
    1. Separa las 3 componentes con el metodo split
    2. Declara una coordenada por defecto
    3. las variables latitud y longitud las convierte en Float
    4. Recoge las variables extraídas y las asigna al las variables de la coordenada por defecto
    5. Finalmente agrega la coordenada  extraída a la lista
  4. Retorna la lista con las coordenadas
Método cargar






1 comentario:

  1. Entendí todo el código, recién tengo tiempo; una forma bastante breve de implementarlo :)

    ResponderEliminar