- Milyen GPS-t vegyek?
- Apple iPhone 17 - alap
- Megérkezett a Google Pixel 7 és 7 Pro
- Milyen okostelefont vegyek?
- Samsung Galaxy S10e - esszenciális
- Google Pixel topik
- Mobil flották
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Telekom mobilszolgáltatások
- Xiaomi 15T Pro - a téma nincs lezárva
Ú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!
- Fejhallgató erősítő és DAC topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Azonnali informatikai kérdések órája
- Gumi és felni topik
- BestBuy topik
- Milyen program, ami...?
- Jövőre jósolják a memóriahiányt, ami egy évtizedig is fennmaradhat?
- Spórolós topik
- eGPU tapasztalatok
- Sweet.tv - internetes TV
- További aktív témák...
- Dell XPS 13 9370 - 9380 UHD touch, 16GB RAM, 256-512GB SSD, jó akku, szép állapot, számla, garancia
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- Dell Latitude 5320 - hibás kijelzők - i5 1135G7 ,16GB RAM, SSD, jó akku, számla
- Xiaomi Redmi Pad Pro 256GB, Újszerű, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2247
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest