15 octubre 2013

Operaciones con listas simples en JAVA

Hola! poes hoy explicare algunas y simples operaciones que se pueden aplicar sobre las listas, entre ellas las siguientes:

  • suma de elementos
  • multiplicacion de elementos
  • eliminacion del primer elemento
  • eliminacion del ultimo elemento
  • reemplazar valores de la lista
  • vaciar lista

empezare entonces:


  • Suma de elementos
la suma de los elementos es muy sencillo siempre y cuando se conoce el principio de como recorrer la lista. lo unico que tenemos que hacer es crear un objeto de la clase nodo o elemento e igualarlo a nuestro nodo principal. con esta copia o nodo auxiliar podremos verificar posicion por posicion en nuestra lista ya que si queremos avanzar una posicion solo tenemos que darle el valor del siguiente nodo a nuestro auxiliar. de esta forma podremos recorrer nuestra lista sin necesidad de borrar o alterar nuestros valores en principal. la parte del codigo la pondre enseguida.


la explicacion es sencilla. lo unico que tenemos que hacer es tener una variable en la que guardaremos nuestro total y un nodo aux que tendra el valor de nuestro inicio de la lista que en nuestro caso se llama primer. tenemos un bucle while que rompera su ejecucion una vez que el valor de aux sea null. lo que hara dentro es sumar a la variable de "i" que es nuestro total su propio valor mas el valor del nodo y hacer que nuestro nodo auxiliar avanze un nodo mas. al final solo imprimimos el valor de total.

  • Multiplicacion de elementos
bueno pues si comprendiste el proceso que hacemos en suma, la multiplicacion no seria ningun problema. lo unico que cambiara sera ir multiplicando el valor de total por el valor del nodo. veamos el codigo.


si observamos es el mismo proceso que el de suma a diferencia que cambiamos la operacion en vez de un "+=" tenemos un "*=" que multiplicara el valor de la misma variable por el valor que esta recibiendo y lo guardara en ella misma. al final solo imprimimos.

  • Eliminacion del primer elemento
la eliminacion del primer elemento en realidad es muy sencilla ya que solamente tenemos que recorrer un nivel abajo nuestra lista. la manera de hacerlo es muy sencilla, pondre mi codigo y explicare.


lo primero que se debe hacer antes de realizar operaciones sobre la lista es checar si tenemos elementos en ella. una vez verificado esto solo tenemos que reemplazar el valor de nuestro nodo de inicio por el valor del nodo siguiente. asi el primero sera eliminado.

  • Eliminacion del ultimo nodo
la eliminacion del ultimo nodo es un poco mas compleja que la realizada para el primer elemento. para realizar esto tenemos que buscar nuestro ultimo nodo, osease el que tenga como siguiente nodo un espacio vacio o null. para hacer esto necesitaremos de nuestro nodo auxiliar y un nodo puntero que indicara en que lugar de nuestra lista estamos. veamos el codigo.


lo primero creamos un nodo puntero que en nuestro caso se llama actual, y otro nodo que sera el auxiliar. ahora checaremos que nuestra lista contenga mas elementos y no solo uno. si es asi haremos que nuestro primer nodo tome el valor de null asi borraremos la lista. si tiene mas elementos haremos lo mismo que hemos hecho para recorrer nuestra lista. que mientras el nodo siguiente al del puntero sea un null o este vacio copie el valor del nodo puntero en auxiliar y puntero tome el valor del siguiente nodo. una vez roto el ciclo. realizara el eliminado del nodo y asi abremos eliminado nuestro ultimo nodo.

  • Reemplazar valores de la lista
para casi todas las operaciones ocupamos del principio del bucle y nuestro nodo auxiliar. para el reemplazamiento de valores solamente tenemos que pedir el valor de la lista a reemplazar y buscarlo entre los valores de nuestra lista, una vez encontrado tenemos que solicitar nuestro nuevo dato y guardarlo en el lugar de el valor anterior. se escucha un poco enredijoso, veamos el codigo.



  pues es simple lo que hago. guardo el valor de el que se desea reemplazar para poder buscarlo entre los valores de los nodos con ayuda de un bucle y un if. una vez encontrado solicito el valor por el cual reemplazare el antiguo y listo.

  • Vaciar lista
el vaciado de la lista es muy sencillo si entendemos como funciona, ya que conociendo su funcionamiento sabremos que un nodo principal contendra todos nuestros demas elementos. asi que si eliminamos nuestro nodo principal se borrara la lista. aqui el ejemplo.


como podemos ver verificamos primero que nuestra lista tenga elementos si es asi solo la igualamos a null. de no ser asi tendrias que avisar que no hay nada en tu lista aun.


pues esto seria todo por hoy tengo mas cosas que hacer como tareas y esas cosas. si tienes alguna duda sobre algun ejemplo puedes dejarme tu comentario aqui o agregarme a Facebook.

Saludos !

13 octubre 2013

Listas simples en JAVA

Las listas son estructuras de datos en las cuales podemos guardar elementos de un mismo tipo. Este tipo de estructura permite guardar N numero de elementos ya que no esta definido. existen de dos tipos :

  • Listas simples
  • Listas doblemente enlazadas
Esta vez explicare las listas simples. para entenderlas tienes que conocer como trabajan, en realidad es muy sencillo. un lista consta de un elemento que a su vez contiene un espacio vacio para otro elemento, al momento de crear un nuevo tenemos que indicar que el nuevo ocupara el espacio vacio del primero y asi tendremos unidos estos dos. y asi podemos agregar cuantos elementos nos plazca. mira la imagen:


una vez explicado esto procedamos a la parte del codigo. nuestra estructura en cuanto a clases sera muy simple tenemos que crear una clase nodo o elemento con la que iremos creando nuestros elementos.

con esto podremos ir creando nuevos nodos, explicando que nuestra variable dato es la que guardara nuestro valor y next sera nuestro espacio vacio para poder asignar nuestros nuevos nodos. con nuestro funcion imprimir imprimiremos nuestro dato.

Bien hagamos ahora un menu para poder insertar nodos e imprimirlos. tenemos que crear una nueva clase. esta seria la estructura basica:





Bien con esto podriamos insertar nuevos nodos e imprimirlos. analizando mi codigo les explicare lo que hace. en mi menu mando llamar a insertar en la opcion 1. insertar tiene una condicion if y su else para compara si ya se inicio la lista y o si no. en caso de no estar iniciada pedira el valor para el primer nodo, en caso de que ya este iniciada pedira el valor para el nuevo nodo, para encontrar su espacio asignaremos a un auxiliar el valor de primero para hacer una busqueda en la lista hasta encontrar que el siguiente nodo este vacio para poder ahi ingresar el nuevo. 

imprimir tiene la misma logica, asignar a un auxiliar el valor del primero e ir imprimiendo el valor hasta que el siguiente sea un null que significa que esta vacio.

Bueno eso seria todo si tienes alguna duda puedes agregarme a Facebook o directamente aqui pon tu comentario

Bienvenidos

Al intentar entrar en un nuevo lenguaje de programacion es dificil decidir por cual es mas popular, cual conviene mas, cual seria mas sencillo de aprender. es una desicion muy dificil.mi primer lenguaje fue JAVA. fue un inicio duro, no entendia a mi profesora y reprobaba mis examenes, pero ahora me siento bastante capaz y he llegado a hacer cosas de las que me siento orgulloso.

Bueno pues la razon por la cual estoy haciendo esto es porque publicare mis proyectos, mis codigos, explicare linea a linea si es necesario y respondere las preguntas que sean acerca de la programacion orientada a objetos en JAVA. este es un lenguaje muy sencillo, pero sera facil entenderlo. Bueno Gracias por leer esto.