Bylo rozhodnuto, že nejnovější Linux 6.12 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2026. LTS jader je aktuálně šest: 5.4, 5.10, 5.15, 6.1, 6.6 a 6.12.
Byla vydána nová stabilní verze 3.21.0, tj. první z nové řady 3.21, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu architektury Loongson LoongArch64.
Hodnota Bitcoinu, decentralizované kryptoměny překonala 100 000 dolarů (2 390 000 korun).
Hurl byl vydán ve verzi 6.0.0. Hurl je nástroj běžící v příkazovém řádku, který spouští HTTP požadavky definované v textovém souboru.
Výsledek hlasování: Výchozím grafickým motivem Debianu 13 aneb Trixie bude Ceratopsian.
Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 5 Ultra.
Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla vydána v nové verzi 2.2.0. Nově lze nastavit vlastní obrázky pro jednotlivé datové schránky pro jejich lepší identifikaci v seznamu schránek. Přidán byl editor vnitřních nastavení aplikace, který slouží jako přehled všech hodnot, které aplikace udržuje.
Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem letos věnovala 1,1 milionu dolarů na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Peníze byly rozděleny mezi Electronic Frontier Foundation (EFF), Public Knowledge, ARTICLE 19, Demand Progress, European Digital Rights (EDRi), Fight for the Future, The Markup, OpenMedia, Restore the Fourth, Signal, Surveillance Technology Oversight
… více »LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.2.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je import knihoven KiCadu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Ř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: