private void Troca(int primeiroIndice, int segundoIndice) { Caminho temp = _elementos[primeiroIndice]; _elementos[primeiroIndice] = _elementos[segundoIndice]; _elementos[segundoIndice] = temp; }
public void Add(Caminho elemento) { More(); _elementos[size] = elemento; size++; HeapUp(); }
public void More() { if (size == tamanhoTotal) { tamanhoTotal *= 2; Caminho[] temp = new Caminho[tamanhoTotal]; _elementos.CopyTo(temp, 0); _elementos = temp; } }
public Caminho Pop() { if (EstaVazio()) { throw new IndexOutOfRangeException(); } Caminho result = _elementos[0]; _elementos[0] = _elementos[size - 1]; size--; HeapDown(); return(result); }