Hirdetés
- Xiaomi 14T - nem baj, hogy nem Pro
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- iPhone topik
- Honor Magic6 Pro - kör közepén számok
- Xiaomi 15T Pro - a téma nincs lezárva
- Honor 200 Pro - mobilportré
- One mobilszolgáltatások
- Szívós, szép és kitartó az új OnePlus óra
- Bemutatkozott a Poco X7 és X7 Pro
Új hozzászólás Aktív témák
-
Azazel999
csendes tag
válasz
kingabo
#1999
üzenetére
Sikerült!

Ez lett a vágás metódus:
Fa* Fa::vag(Fa* v_pont){
vector<Fa*> kicsik;
vector<Fa*> nagyok;
Fa *aktualis = this, *kovetkezo;
//fa szétdarabolása
int count = 0;
while (aktualis->kulcs != v_pont->kulcs){
if (aktualis->kulcs < v_pont->kulcs){
kicsik.push_back(aktualis);
kovetkezo = aktualis->jobb;
aktualis->jobb->apa = NULL;
aktualis->jobb = NULL;
cout << "jobbra" << endl;
} else if (aktualis->kulcs > v_pont->kulcs){
nagyok.push_back(aktualis);
kovetkezo = aktualis->bal;
aktualis->bal->apa = NULL;
aktualis->bal = NULL;
cout << "balra" << endl;
}
aktualis = kovetkezo;
}
cout << "kint vagyok a ciklusbol" << endl;
//vágási elem gyrekeinek levágása
if (aktualis->bal != NULL){
cout << "vagasi_pontnak bal fia van" << endl;
kicsik.push_back(aktualis->bal);
aktualis->bal->apa = NULL;
aktualis->bal = NULL;
}
if (aktualis->jobb != NULL){
cout << "vagasi_pontnak jobb fia van" << endl;
nagyok.push_back(aktualis->jobb);
aktualis->jobb->apa = NULL;
aktualis->jobb = NULL;
}
cout << "vagasi pont gyerekei levagva" << endl;
vector<Fa*>::const_iterator iter;
//a kisebb- és nagyobb fa felépítése
for(int i = 1; i < kicsik.size(); ++i){
cout << "kisfa" << endl;
kicsik.at(0)->beszur(kicsik.at(i));
//kicsik.at(i)->kiir();
}
for(int j = 1; j < nagyok.size(); ++j){
cout << "nagyfa" << endl;
nagyok.at(0)->beszur(nagyok.at(j));
//nagyok.at(j)->kiir();
}
//a vágási pont gyökérré tétele, a két fa ráakasztása
v_pont->bal = kicsik.at(0);
v_pont->jobb = nagyok.at(0);
v_pont->bal->apa = v_pont;
v_pont->jobb->apa = v_pont;
//v_pont->kiir();
return v_pont;
}Bocs, ha nem volt egyértelmű a megfogalmazás, igyekeztem részletesen körülírni. Németh Tamás (SZTE-n tanít) honlapján az alga II. előadásfóliák között ott ez az önszervező bináris keresőfa (nem tudom, hogy szabad-e linkelni ide, ezért nem teszem). Ott folyamatábrával szemlélteti is, az sokkal érthetőbb, mint az én makogásom. Egyébként igazad lehet a rekurzióval, valószínűleg sokkal egyszerűbb lenne vele, de én már ennek is örülök. Ezt a metódust meg kell hívni a fa gyökerére, és a visszaadott érték lesz az új fa.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kingston FURY Beast 16GB (2x8GB) DDR4-3600 CL17
- Bomba ár! HP 250 G6 - i5-7GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I HDMI I W11 I Cam I Garancia!
- ROG Strix G513RS 15.6" FHD IPS Ryzen 7 6800H RTX 3080 32GB 1TB NVMe magyar vbill gar
- Bomba ár iPhone AIR 512GB fekete gyönyörű ALZA számla 2028 szeptember 18-ig Apple garancia Fulldoboz
- 500GB HDD -K (WD)
- GYÖNYÖRŰ iPhone 12 64GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3653
- Acer TravelMate P214 i3-1115G4 12GB 256GB 14" FHD 1év garancia
- SzuperÁron! 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 512GB 1 év garancia - hajszálrepedt
- Samsung Galaxy A23 5G / 4/128GB / Kártyafüggetlen / 12 Hó Garancia
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2998, 100% Akksi
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest



