Új hozzászólás Aktív témák
-
mgoogyi
senior tag
válasz
axelf92
#2056
üzenetére
Valami ehhez hasonló kéne legyen az osztályod:
template < class Key, class Value>
class HashArray
{
bool Insert(const Key & index, const Value & value);
Value operator[] (Key index) { return ...}
stb..
}A kérdés az, hogy a mögöttes adatstruktúra hogy kéne, hogy kinézzen.
Két általános módszer van:
1, Bináris fában vannak a kulcs-érték párok. Ezesetben a kulcsra értelmezhető kell legyen a < operátor.
2, Vagy úgynevezett bucketokban, kb van egy tömb, aminek minden eleme egy lista. A tömbbéli indexet valamiféle hasheléssel találod ki. Pl. ha a kulcs egy szám és 1024 elemű a belső tömböd, akkor a kulcs % 1024 helyen lévő listába tolod bele az új elemet. Csakhogy itt generikus kulcsról van szó, azt nem annyira triviális hash-elni.Itt valszeg az 1-es az ésszerű irány, ami nagyrészt ugyanez, mint az stl mapje:
pl:
#include <map>
#include <string>
std::map<int, std::string> m;
m[1] = "kutya";A legegyszerűbb az lenne nyilván, ha lenne belül egy std::map-ed memberként. (leszármaztatni nem szabad belőle)
De valszeg az 1-es irányt akarja az oktatód, szerintem kérdezd meg, hogy arra gondolt e.
Ú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!
- újszerű Apple Watch Ultra 2 GPS + Cellular 49 mm natúr titántok titán milánói szíj 3 év garancia
- Apple Watch Series 6 stainless steel GPS + cellular LTE 44mm éjfekete sportszíjjal rozsdamentes
- Apple Watch Ultra GPS + Cellular 49 mm-es titántok garancia ajándék extra szíj
- új Apple Watch Series 9 stainless steel GPS + cellular LTE 41mm éjfekete sportszíjjal rozsdamentes
- új iPhone Air 256GB sky blue égkék független Apple 1 év garancia
- BESZÁMÍTÁS! ASUS ROG B450 R5 5600X 32GB DDR4 512GB SSD RTX 4060Ti 16GB Zalman S2 TG Enermax 650W
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Ventilátorok 120/140mm és tápkábel modding kitűnő árakon!
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3389, 94% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

