Ejemplo n.º 1
0
        private void Troca(int primeiroIndice, int segundoIndice)
        {
            Caminho temp = _elementos[primeiroIndice];

            _elementos[primeiroIndice] = _elementos[segundoIndice];
            _elementos[segundoIndice]  = temp;
        }
Ejemplo n.º 2
0
 public void Add(Caminho elemento)
 {
     More();
     _elementos[size] = elemento;
     size++;
     HeapUp();
 }
Ejemplo n.º 3
0
 public void More()
 {
     if (size == tamanhoTotal)
     {
         tamanhoTotal *= 2;
         Caminho[] temp = new Caminho[tamanhoTotal];
         _elementos.CopyTo(temp, 0);
         _elementos = temp;
     }
 }
Ejemplo n.º 4
0
        public Caminho Pop()
        {
            if (EstaVazio())
            {
                throw new IndexOutOfRangeException();
            }

            Caminho result = _elementos[0];

            _elementos[0] = _elementos[size - 1];
            size--;
            HeapDown();
            return(result);
        }