Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2013, 18:05
DarkSmile DarkSmile вне форума
Прохожий
 
Регистрация: 11.03.2013
Сообщения: 19
Версия Delphi: XE3
Репутация: 10
По умолчанию Поиск байт в буфере

Здравствуйте! Скажите пожалуйста как сделать быстрый поиск в буфере, например в:
Код:
Buffer:Array [0..2024] of Byte;
Найти вот такую цепочку байт:
Код:
Bytes:Array [0..5] of Byte = ($00, $11, $22, $33, $44, $55);
Пытался сделать с помощью функции "pos" но что-то не получается, делал способом перебора цепочки байт побайтого все работает но очень долго ищет, да и код получается не маленькой. Подскажите пожалуйста альтернативу)
Ответить с цитированием
  #2  
Старый 28.03.2013, 18:10
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Ну это же Классика.

КМП-алгоритм

Реализаций в интернете вагон.
Ответить с цитированием
  #3  
Старый 28.03.2013, 18:26
DarkSmile DarkSmile вне форума
Прохожий
 
Регистрация: 11.03.2013
Сообщения: 19
Версия Delphi: XE3
Репутация: 10
По умолчанию

Долгий поиск
Ответить с цитированием
  #4  
Старый 28.03.2013, 18:28
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Код:
string::find(): 9999000, time 4
strstr()      : 9999000, time 8
naive_strstr(): 9999000, time 8
kmp_strstr()  : 9999000, time 0

string::find(): 9999000, time 1
strstr()      : 9999000, time 16
naive_strstr(): 9999000, time 10
kmp_strstr()  : 9999000, time 0

Убил бы =\
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter