- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr Dini: Mindent a StreamSharkról!
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- eBay-es kütyük kis pénzért
- Random25: Windows 11 telepítés Pendriveról
- VoidXs: Tényleg minden játék optimalizálatlan?
Ú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!
- Mibe tegyem a megtakarításaimat?
- Autós topik
- Házimozi belépő szinten
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Honor 200 - kétszázért pont jó lenne
- NTFS, exFAT, FAT32 – Melyiket válaszd és miért?
- A OnePlus Nord 5 sem sokkal marad le akkuméretben
- Samsung Galaxy S25 - végre van kicsi!
- Egyedülálló akkumérettel futott be a OnePlus Nord CE5
- Samsung Galaxy A52s 5G - jó S-tehetség
- További aktív témák...
- Telefon felvásárlás!! Apple Watch Series 9/Apple Watch Ultra/Apple Watch Ultra 2
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Sérült I W10 I CAM I Garancia!
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 500GB SSD RX 6700XT 12GB Cooler Master CMP 520L 750W
- MSI CreatorPro Z16P - i7-12700H, RTX A5500, értintőkijelző
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest