Anonymní profil Dusan – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Dusan – Programujte.comAnonymní profil Dusan – Programujte.com

 

Příspěvky odeslané z IP adresy 78.128.196.–

Dusan
.NET › C# this
6. 5. 2009   #100569

Programuju delete na vyhledavacich stromech. Mam ho napsany rekurzivne.
V hlavnim programu pak napisu rekneme neco jako:



BVS tree = new BVS(10, new BVS(5, new BVS(20, null, null), null), new BVS(50, null, null));
tree.delete(5, null);


Do druheho parametru si pak pri rekurzivnim prochazeni stromem predavam "ukazatel" na otce. Problem nastane, pokud chci smazat koren.
Reseni me napadlo nekolik, z toho asi nejlepsi je toto: Pri volani metody delete si vytvorim "prapredka", ktery bude ukazovat na koren a po provedeni delete jednoduse porovnam koren se synem prapredka, a pokud se lisi, tak koren zmenim.

Nakonec jsem si naprogramoval statickou metodu delete, ktere predam koren a klic. V ni vytvorim prapredka, zavolam skutecny rekurzivni delete a nakonec porovnam koren vuci prapredkovi.

Dusan

Dusan
.NET › C# this
5. 5. 2009   #100534

Ahoj,

existuje v C# zpusob, jak v metode tridy zmenit objekt ("this") za jiny ?

this = Trida.vratobekt();


nefunguje, pise mi, ze this je read only.

Pocitam, ze takovy zpusob asi neni, prece jenom by to vyzadovalo nejak zmenit vsechny odkazy ktere na nej vedou, ale pro jistotu se ptam, hodne by mi to pomohlo.

DIky Dusan

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý