Hirdetés
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Samsung Galaxy A54 - türelemjáték
- Yettel topik
- Beárazták a Nubia Z80 Ultra európai verzióját
- Megtartotta Európában a 7500 mAh-t az Oppo
- Android alkalmazások - szoftver kibeszélő topik
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Apple iPhone 17 Pro Max – fennsík
Ú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!
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Mercedes topic
- BestBuy topik
- Kínai és egyéb olcsó órák topikja
- Elemlámpa, zseblámpa
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Samsung Galaxy A54 - türelemjáték
- Yettel topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Arc Raiders
- További aktív témák...
- Ryzen 7 5800X3D + Strix B550-A + 32GB Corsair Dominator + RX 7900 XTX NITRO+ 24G + 1200W 80+ plat
- HP ZBook Fury G8 - RTX A3000 - ajándék dokkolóval és laptop hűtővel
- Heatkiller Tube 100 D5 - full extra
- Gigabyte AORUS 17 - i7-12700H - RTX 3070 Ti - 32GB RAM - 1TB M2 SSD -FHD 360H- eredeti csomagolásban
- DDC Pumpa kiegészítők: top, bottom (hűtőborda), tartály,
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- CPU: 2 x Intel Xeon(R) E5-2650L v2 1.70GHz, 40 vCPUsvv, 256 GB DDR3 RAM
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3551,100% Akkumulátor
- Xiaomi 14 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



