Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Řešení dotazu:
#include <iostream> #include <string> #include <map> typedef std::map<std::string, std::string> osoba_t; int main() { osoba_t osoba; osoba["adresa"] = "mars colony"; osoba["jmeno"] = "Douglas Quaid"; std::cout << "jmeno = " << osoba["jmeno"] << ", adresa = " << osoba["adresa"] << "\n"; }
Pokud bys těch osob měl pár tisíc a chtěl to mít opravdu hezky, asi by stálo za to si udělat index, kde by byla hodnota, v jaké položce je a pointer na osobu do toho pole. Tan index by byl seřazen podle hodnoty a pomocí bsearch bys po tom pobíhal.s binarnim vyhledavanim bych byl opatrnej. Ono ma sice lepsi asymptotickou slozitost, ale pro maly n je pomalejsi. Hlavni duvod je pravdepodobne obtizna predikce skoku. Kdysi jsem s tim delal nejaky pokusy a binarni vyhledavani bylo rychlejsi nez sequencni hledani az pri asi n > 30 Pokud bych chtel max rychlost tak bych to udelal nejak takhle:
struct osoba_t { char *jmeno; char *adresa; ... } char *najdi_pole(osoba_t *o, char *pole) { if (!strcmp(pole, "jmeno")) { return o->jmeno; } else if (!strcmp(pole, "adresa")) { return o->adresa; } else { ... } }takhle bude mit vyhledavani v jedny funkci takze tam nebude zadna redundance a pokud v ty strukture nema moc polozek tak to bude i rychly. Ty if-y navic muze seradit tak aby ty nejcastejsi byly na zacatku.
Pokud bys těch osob měl pár tisíc a chtěl to mít opravdu hezky...
Tiskni Sdílej: