Hirdetés
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Mr Dini: Mindent a StreamSharkról!
- Brogyi: CTEK akkumulátor töltő és másolatai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
válasz
Ron Swanson
#4165
üzenetére
"Kis mennyiségű adatnál szépen le is fut, de ha mondjuk N = több ezer, akkor nem fut le 0,2s alatt...
"Ó, hát erre egyszerű a megoldás, a lista tetejéről válassz valamit: [link]

Komolyabbra fordítva a szót, az a gondod, hogy kb. a vendégek számának négyzetével nő az elvégzendő számítások mennyisége. A megoldás az, ha találsz ennél kisebb ordójú algoritmust. Első blikkre ilyen lehet az, ha a vendégeket nem direktben hasonlítod össze egymással, hanem az időintervallummal machinálsz.
Például csinálsz egy listát, amiben olyan elemek vannak, amik állnak egy időpontból, a már ott lévő vendégek számából és az abban az időpillanatban érkezett vendégek számából és simán ezen a listán mész végig minden egyes vendégre.
Ez egyébként továbbra is algoritmikus kérdés, nem C++ - specifikus.
Hogy ontopic legyek, a C++ kódod valami egészen rettenetes és elavult, szóval fogadni mernék, hogy ezt a magyar (felső)oktatás keretében tanultad
, szerintem azt is érdemes jobb átnézni:1. TVendegek:
Minek az a T? Most komolyan? Mitől lesz bárkinek is jobb attól, hogy az összes osztály neve T-vel kezdődik, mint "type" (sőt, "típus"). Szóval legyen inkább Vendegek.
Miért Vendegek? Egyetlen vendég adatait tárolja, nem többét, szóval legyen inkább Vendeg.
És persze kódot szigorúan angolul írunk, szóval a végleges változat az a Guest.2. erkezes / tavozas
Ha már név: itt pont van értelme annak, hogy jelöljük, hogy ezek adattagok, szóval m_arrive, m_leave
Adattagokat csak kivételes esetben érdemes kirakni publikba, ez meg semmiképpen sem az, szóval legyenek csak private-ok (és a private tagokat érdemes a publicok mögé rakni, mert így jobban olvasható a kód: az elején ott van a mindenkit érdeklő rész, a class API-ja, az implementáció meg elfér hátul).3. TVendegek(const int E, const int T):
A constok itt elég feleslegesek (érték szerit átadott primitívekről van szó), a nevek meg lehetnek nyugodtan beszédesek, a C++-ban a scope-ok miatt az is tök jól működik, hogyC::C(int x) : x(x) {}
De mivel a tagok neve pont az előbb kapott egy m_ előtagot, amúgy se lenne névütközés legyen inkábbGuest(int arrive, int leave)....
és most mennem kell, majd folytatom, addig a többiek úgyis belekötnek abba, amit írtam

Ú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!
- Garancia kérdés, fogyasztóvédelem
- Milyen notebookot vegyek?
- Sweet.tv - internetes TV
- Kerékpárosok, bringások ide!
- Autós topik
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Elektromos autók - motorok
- Kormányok / autós szimulátorok topikja
- BestBuy topik
- Gaming notebook topik
- További aktív témák...
- Latitude 5400 14" FHD IPS i5-8365U 16GB 256GB NVMe magyar vbill ujjolv gar
- Latitude 5430 27% 14" FHD IPS i7-1265U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Apple iPhone 16 256 GB Black Apple Garancia Beszámítás Házhozszállítás
- EliteBook 860 16 G10 27% 16" FHD+ IPS i7-1365U 32GB 512GB NVMe ujjlolv IR kam gar
- Xbox series X+kontik+füles ajándék tölthető elemekkel és töltővel
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4055, 100% Akkumulátor
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
- Magyarország piacvezető szoftver webáruháza
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2955, 100% Akkumulátor
- MikroTik CCR1009-7G-1C-1S+ Cloud Router
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
"
, szerintem azt is érdemes jobb átnézni:
