Форум программистов, компьютерный форум CyberForum.ru

hash строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Просмотр текущей папки http://www.cyberforum.ru/cpp/thread86353.html
Доброго времени суток! Подскажите пожалуйста, как относительно несложно просмотреть текущую папку на наличие файлов определенного расширения. Поиск по маске проще говоря )) пытался запускать прогу отсюда, но она что-то у меня не компилится (ошибка "unresolved external symbol") читал, что не обязательно использовать функции FindFirst, FindNext, а можно самому как-то написать. Но куда копать не...
C++ Как осуществить Обработку бинарного файла? Файл содержит произвольные данные. Определить, встречается ли в файле определенная последовательность байт (заданных виде массива символов). Если встречается, то вывести на экран все смещения, где эта последовательность встречается. http://www.cyberforum.ru/cpp/thread86151.html
C++ Алгоритм Эрли
Народ, спасите мне жизнь!!!! С лабораторки нужно написать программу "Алгоритм Эрли", а моих знаний об етом алгоритме оочень мало!!! Подскажите пожалуста что он должен делатьи мб какие-то исходняки программы подкиньте.. очень прошу::help:help::help:
C++ Строка
Как в строке заключить слова начинающиеся с согласной буквы в двойные кавычки?
C++ Загрузка текстового файла в TreeView http://www.cyberforum.ru/cpp/thread85891.html
Здравствуйте! При написании программы возникла такая проблема: 1) Программно создается файл .txt 2) Хочу загрзить строки файла в компонент TreeView в GodeGear 2009 С++ Builder 3) Делаю загрузку TreeView1-> LoadFromFile(...); 4) Если до этого в файл ".txt" были внесены какие-то данные, то в TreeView строки отображаются; если же строки добавляю в TreeView программно и сохраняю TreeView:...
C++ Логарифм Дан код описание натурального логарифма ln()(разложение ряда), Кто может поправить код на С++, и описать Log2(a)=lna/ln2 Мучаюсь уже три месяца.Если кто знает еще описание куб. корня,прошу помочь private double MLn(double x0){ double x=x0; double y=0; //Получаем показатель степени String s0=""+x; int i=s0.indexOf("E"); подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
3636 / 914 / 49
Регистрация: 10.01.2010
Сообщений: 2,464
16.01.2010, 18:31  [ТС]     hash строк
Скорее всего строк будет много. С другой стороны если их много вероятность коллизии ключа строки возрастает... просто мне хочется предпочесть скорость последующего обращения к строкам, пожертвовав небольшим количеством памяти. Если использовать поиск скорость обращения упадет. Хм, даже не знаю... не думаю что на много.
В общем я щас попробовал CRC вроде разные числа выдает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    unsigned short _hash(char* hashed){
        unsigned short crc = 0xFFFF;
        unsigned char i;
        unsigned char len = strlen(hashed);
     
        while( len-- )
        {
            crc ^= *hashed++ << 8;
     
            for( i = 0; i < 8; i++ )
            crc = crc & 0x8000 ? ( crc << 1 ) ^ 0x1021 : crc << 1;
        }
        return crc;
    }
А нельзя просто посчитать сумму байтов, из которых состоит строка и сделать её по модулю x
Мне кажется тогда для строк "АБ" и "БА" будут выдаваться одинаковые значения, хм...
 
Текущее время: 08:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru