private void ObtemCaminhos() {
		
		
		LinkedList<Integer> ruasCaminho = new LinkedList<Integer>();
		
		int inicio;
		int fim;
		int tamanho;
		
		
		for (int i = 0; i < grafo.getNumeroDeVertices(); i++) {
			
			BuscaEmLargura buscaLargura = new BuscaEmLargura(grafo, i);

			for (int u = 0; u < grafo.getNumeroDeVertices(); u++) {
				
				if (buscaLargura.ExisteCaminhoPara(u)) {
					
					ruasCaminho = new LinkedList<Integer>();
					
					
					for (int v : buscaLargura.CaminhoPara(u))
						ruasCaminho.add(v);

					
					inicio = i;
					fim = u;
					tamanho = buscaLargura.DistanciaPara(u);
					
					int[] caminho = new int[ruasCaminho.size()];
					
					for (int j = 0; j < ruasCaminho.size(); j++)
						caminho[j] = ruasCaminho.get(j);
					
					caminhos.add(new Caminho(inicio, fim, caminho, tamanho));
					

				} else {   
					System.out.println(String.format("%d para %d (-): Não Conectado\n", i, u));
				}
				
			} // Fim for int u  = 0

		} // Fim for int i = 0 
		
		
		System.out.println("\nCaminhos");
		Caminho[] caminhoOrdenado = caminhos.toArray(new Caminho[caminhos.size()]); 

		QuickSort.Ordena(caminhoOrdenado);
		caminhos.clear();
		
		for (int i = 0; i < caminhoOrdenado.length; i++)
			caminhos.add(caminhoOrdenado[i]);
		
		
		for (Caminho caminho : caminhos) {
			System.out.println(caminho);
		}

		
	} // Fim do método ObtemCaminho