public bool suprimir(ref int x, int p) { nodo ant, xcab; int i = 1; if (p >= 1 && p <= cant && !vacia())//valido posicion y que no este vacia { if (p == 1) { x = cab.get_dato(); cab = cab.get_sig(); } else { xcab = cab; ant = cab; while (i < p) { ant = xcab; xcab = xcab.get_sig(); i++; } x = xcab.get_dato(); ant.set_sig(xcab.get_sig());//hace el enlace en para eliminar elemento; } cant--; return(true); } else { return(false); } }
public bool ultimo(ref int x) { nodo xcab = cab; if (!vacia()) { while (xcab.get_sig() != null) { xcab = xcab.get_sig(); } x = xcab.get_dato(); return(true); } else { return(false); } }
//busca el elemento en la lista y devuelve su posicion public int buscar(int x) { int i = 1; nodo xcab = cab; while (i <= cant && x != xcab.get_dato()) { i++; xcab = xcab.get_sig(); } if (i <= cant) { return(i); } else { return(-1); } }
public bool recuperar(ref int x, int p) { nodo xcab = cab; int i = 1; if (p >= 1 && p <= cant)//primero valido posicion { while (i < p) { xcab = xcab.get_sig(); i++; } x = xcab.get_dato(); return(true); } else { return(false); } }