sábado, 21 de agosto de 2010

Lista Circular Sencilla

10 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. No se lo que pasa a este blog pero subo el resto de la clase y luego se borra

    SI ALGUIEN DESEA QUE LE MANDE EL CODIGO COMPLETO
    ESCRIBAN AL juanagva@unisabana.edu.co

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. public class ListaSencilla {

    private Nodo nodo1;

    public ListaSencilla() {

    nodo1 = null;

    }

    public Nodo getNodo1() {

    return nodo1;

    }

    public void adicionarObjeto(Object objeto) {

    while (true) {

    if (nodo1 == null) {
    nodo1 = new Nodo(objeto);
    break;
    } else {

    nodo1 = new Nodo(objeto, nodo1);
    break;
    }
    }
    }

    public int longitud() {

    Nodo tem = nodo1;
    int i;
    for (i = 0; tem != null; i++) {

    tem = tem.siguienteNodo();

    }
    return i;
    }
    public int consulPos (Object objeto){

    Nodo tem = nodo1;
    int pos = 0;
    for (int i = 0; tem != null ; i++) {

    if (tem.getObjeto() == objeto) {
    pos = i;
    break;
    }
    tem = tem.siguienteNodo();
    }
    return pos;
    }
    public boolean vacia(){
    boolean vacia = false;
    if (nodo1 == null) {
    vacia = true;
    }
    return vacia;
    }
    public Nodo consulNodo(int posicion){
    Nodo tem = nodo1;
    for (int i = 0; i < posicion; i++) {

    tem = tem.siguienteNodo();
    }
    return tem;
    }

    }

    ResponderEliminar
  6. public class Nodo {

    private Nodo enlace;
    private Object objeto;

    public Nodo(Object objeto) {

    this.objeto = objeto;
    enlace = null;

    }

    public Nodo(Object objeto, Nodo enlace) {

    this.enlace = enlace;
    this.objeto = objeto;

    }

    public Object getObjeto() {

    return objeto;

    }

    public Nodo siguienteNodo() {

    return enlace;

    }

    public String toString() {
    return objeto.toString();
    }
    }

    ResponderEliminar
  7. public class ListaCircularSimple {

    private Nodo primero;
    private int cont;

    public ListaCircularSimple() {
    int cont = 0;
    primero = new Nodo(null);
    }

    public ListaCircularSimple(Object obj) {
    primero = new Nodo(obj);
    primero.setEnlace(this.primero);
    cont = 1;
    }


    public int size() {
    return cont;
    }

    public void insertar(Object obj) {
    if (cont == 0) {
    primero.setContenido(obj);
    } else {
    Nodo temp = this.primero;
    for (int i = 0; i < cont - 1; i++) {
    temp = temp.getEnlace();
    }
    Nodo nTemp = new Nodo(obj);
    temp.setEnlace(nTemp);
    temp = temp.getEnlace();
    temp.setEnlace(this.primero);
    }
    cont++;
    }

    public void insertar(int Index, Object obj) {

    Nodo temp = this.primero;
    for (int i = 0; i < Index - 1; i++) {
    temp = temp.getEnlace();
    }
    Nodo nTemp = new Nodo(obj);
    Nodo temp2 = temp.getEnlace();
    temp.setEnlace(nTemp);
    temp = temp.getEnlace();
    temp.setEnlace(temp2);
    cont++;
    }

    public void eliminar(int Index) {
    if (Index == 0) {
    Nodo temp = this.primero;
    for (int i = 0; i <
    cont - 1; i++) {
    temp = temp.getEnlace();
    }

    Nodo temp2 = temp.getEnlace().getEnlace();
    primero =
    temp2;
    temp2 =
    null;
    cont--;

    } else {
    Nodo temp = this.primero;
    for (int i = 0; i <
    Index - 1; i++) {
    temp = temp.getEnlace();
    }

    Nodo temp2 = temp.getEnlace().getEnlace();
    temp.setEnlace(temp2);
    temp =
    null;
    cont--;

    }


    }

    public Object consultarObjeto(
    int Index) {
    Nodo temp = this.primero;
    int conta = 0;
    if (Index <= cont) {
    while (conta != Index) {
    temp = temp.getEnlace();
    conta++;

    }


    }
    return temp.getContenido();
    }

    public Object[] toArray() {
    Object[] obj = new Object[cont];
    Nodo temp = this.primero;
    for (int i = 0; i <
    cont; i++) {
    obj[i] = temp.getContenido();
    temp =
    temp.getEnlace();
    }

    return obj;
    }

    ResponderEliminar
  8. public class Nodo {

    private Nodo enlace;
    private Object contenido;

    public Nodo(Object contenido){
    this.contenido = contenido;
    this.enlace = enlace;
    }

    public Object getContenido() {
    return contenido;
    }

    public void setContenido(Object contenido) {
    this.contenido = contenido;
    }

    public Nodo getEnlace() {
    return enlace;
    }

    public void setEnlace(Nodo enlace) {
    this.enlace = enlace;
    }

    }

    ResponderEliminar
  9. Felipe, nada aconsejable que dejes un ciclo infinito en el metodo: adicionarObjeto.... y el metodo eliminarElemento? Tienes 1/2 bono.

    ResponderEliminar
  10. Buen intento Cristian. Falta refinar algunos métodos. Lo discutimos en clase. Tienes 1 bono.

    ResponderEliminar