Jen pro zajímavost co mě napadlo, že by se dalo udělat. Bylo by to náročnější na paměť. Soubor by měl být víceméně jen pro čtení. Za předpokladu, že uživatel chce hledat běžný text, případně čísla... Velikost v paměti by se zdvounásobila, pokud by chtěl hledat i s ohledem na velikost znaků
Základní abeceda má myslím 26 znaků + 10 čísel + oddělovače jako čárka, středník, pomlčka, podtržítko. tj 40 znaků (=> 40 možných separátorů). Rozparsovat soubor pomocí prvního separátoru "a" nebo "A" (bez ohledu na velikost písmene). Tím získáš první pole a_arr, které bude zabírat +/- 10MB. Další znak bude "b". Rozparsuješ originální soubor získáš b_arr atd. Rozparsuješ všechny a bude ti to v paměti zabírat cca 400MB (660MB sada i s uppercase oddělovačem). Samotné hledání by probíhalo tak, že když uživatel zadá hledaný text např. "ten, který", použiješ pole kde je čárka jako oddělovač. Projdeš všechny pole a hledáš slovo "který" pouze na začátku každého elementu pole. Když najdeš, zkontroluješ jestli předchozí element končí na slovo "ten". Pokud ano, pak si našel slovo. Takto by se dalo mnohonásobně urychlit hledání. Pro úsporu místa v paměti by se nepoužívaná pole dala dočasně uložit na disk. -- <http://forum.pspad.com/read.php?1,69189,69194> PSPad freeware editor http://www.pspad.com
