public ArrayList<E>floyd (E saleDe, E vaA){
        int[][] path=hacerMatrizPath();
        for(int i=0; i<cantNodos; i++){
            for(int j=0; j<cantNodos; j++){
                System.out.print(path[j][i]+" ");
            }
            System.out.println("\n");
        }
        System.out.println("\n");
        int[][] adj=hacerMatrizAdj();
        int[][] resultadoPath;
        int[][] resultadoAdj;
        ArrayList<int[][]> lista=shortestpath(adj, path);
        resultadoAdj=lista.get(0);
        resultadoPath=lista.get(1);
        
        for(int i=0; i<cantNodos; i++){
            for(int j=0; j<cantNodos; j++){
                System.out.print(resultadoPath[j][i]+" ");
            }
            System.out.println("\n");
        }
        
        int sale=tabla.get(saleDe);
        int llega=tabla.get(vaA);
        ArrayList<Integer> resInt=new ArrayList<Integer>();
        resInt.add(sale);
        while(resultadoPath[sale][llega]!=0){
            if(resultadoPath[sale][llega]==-1){
                return null;
            }
            int nuevoSale=resultadoPath[sale][llega];
            sale=nuevoSale;
            resInt.add(nuevoSale);
        }
        
        
        resInt.add(llega);
        ArrayList<E> listaFinal=new ArrayList<E>();
        for(int i=0;i<resInt.size();i++){
            listaFinal.add(tablaInv.get(resInt.get(i)));
        }
        return listaFinal;
    }