1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

LevelOrder

Discussão em 'Programação' iniciada por Tolo19, 28 de Janeiro de 2013. (Respostas: 0; Visualizações: 506)

  1. Boas!

    Eu tenho que implementar o levelorder. Para ja tenho isto mas nao esta a iterar todos os elementos da arvore, esta foi implementada em array...
    Código:
    public void levelOrder(int node, ArrayUnorderedList<T> tempList) throws Exception {
    
    
    
            QueueADT<T> nodes = new CircularArrayQueue<T>();
            nodes.enqueue(tree[node]);
            T elementRemoved = null;
    
    
            while (!nodes.isEmpty()) {
        
                elementRemoved = nodes.dequeue();
                if (elementRemoved != null) {
                    System.out.println("Add: "+elementRemoved);
                    tempList.addToRear(elementRemoved);
                    if ((node * 2 + 1) < tree.length && tree[node * 2 + 1] != null) {
                        nodes.enqueue(tree[node * 2 + 1]);
                        System.out.println("FILHO ESQUERDA");
                    }
                    if (((node + 1) * 2) < tree.length && tree[(node + 1) * 2] != null) {
                        nodes.enqueue(tree[(node + 1) * 2]);
                        System.out.println("FILHO DIREITA");
                    }
                }else{
                    tempList.addToRear(null);
                }
            }
        }
     

Partilhar esta Página