public ListaLigada<T> dividir(int opcion) {
   ListaLigada<T> lista = new ListaLigada<>();
   int elementos = 1;
   Nodo<T> aux = inicio;
   while (aux.getLiga() != null) {
     elementos++;
     aux = aux.getLiga();
   }
   elementos = (elementos % 2) == 0 ? elementos / 2 : elementos / 2 + 1;
   aux = inicio;
   int i = 1;
   if (opcion == 1) {
     while (i <= elementos) {
       lista.insertarFinal(aux.getInfo());
       aux = aux.getLiga();
       i++;
     }
   } else {
     while (aux != null) {
       if (i > elementos) {
         lista.insertarFinal(aux.getInfo());
       }
       aux = aux.getLiga();
       i++;
     }
   }
   return lista;
 }
 public ListaLigada<T> invertirLista() {
   ListaLigada<T> respuesta = new ListaLigada<>();
   Nodo<T> aux = inicio;
   while (aux != null) {
     respuesta.insertarInicio(aux.getInfo());
     aux = aux.getLiga();
   }
   return respuesta;
 }
  public static void main(String[] args) {

    ListaLigada lista = new ListaLigada();
    lista.adiciona("Rafael");
    lista.adiciona(0, "Paulo");
    lista.adiciona(1, "Camila");

    System.out.println(lista);
  }
  public ListaLigada<T> intercalar(int mitad) {
    ListaLigada<T> lista = new ListaLigada<>();
    boolean agregar = mitad == 1 ? true : false;
    Nodo<T> aux = inicio;
    while (aux != null) {
      if (agregar) {
        lista.insertarFinal(aux.getInfo());
        aux = aux.getLiga();
        agregar = false;
      } else {
        aux = aux.getLiga();
        agregar = true;
      }
    }

    return lista;
  }
Пример #5
0
 public boolean esVacia() {
   return lista.esVacia();
 }
Пример #6
0
 public NodoLista desencolar() {
   return lista.deletePrimerNodo();
 }
Пример #7
0
 public void encolar(int e, int s, int pr) {
   lista.insertaNodos(e, s, pr);
 }