eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak usunąć najlepiej element z drzewa ?Re: Jak usunąć najlepiej element z drzewa ?
  • Data: 2018-03-16 00:07:31
    Temat: Re: Jak usunąć najlepiej element z drzewa ?
    Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Replace:
    nie można najpierw usuwać a potem dodawać , bo w międzyczasie zmieniłoby
    się drzewo. Trzeba sklonować, potem usunąć i wstawić.
    void InsertOneChild(int index, shared_ptr<Node> node)
    {
    childs.insert(childs.begin() + index, node);
    node->parent = this;
    }

    void ReplaceChild(int index, shared_ptr<Node> subtree)
    {
    shared_ptr<Node> clone = subtree->cloneTree();
    deleteChild(index);
    InsertOneChild(index, clone);
    clone->setLevel(level + 1);
    }


    int main()
    {
    shared_ptr<Node>root,rootB;
    root = make_shared<Node>("1");
    root->AddTree(make_shared<Node>("2"));
    root->AddTree(make_shared<Node>("3"));
    root->at(0)->AddTree(make_shared<Node>("4"));
    root->at(0)->AddTree(make_shared<Node>("5"));
    root->at(1)->AddTree(make_shared<Node>("6"));
    root->at(1)->AddTree(make_shared<Node>("7"));
    root->print();
    root->ReplaceChild(0,root);
    root->print();
    return 0;
    }

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 16.03.18 14:26 M.M.

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: