- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
int * lPtr=item;
int * lPtrEnd = item + count;
for (lPtr = item ; lPtr < lPtrEnd && *lPtr<fid ; lPtr+=4);
if( lPtr >= lPtrEnd ) lPtr=lPtrEnd-1; // last element
if(*lPtr != fid)
{
if(--lPtr >=item)
{
if(*lPtr!= fid)
{
if(--lPtr >=item)
{
if(*lPtr!= fid)
{
if(--lPtr >=item)
{
if(*lPtr!= fid)
{
break; // value not found
}
} else break;
}
} else break;
}
} else break;
}
if( lPtr > item)
{
while ( *(lPtr-1) == fid && lPtr > item) lPtr--; // first ocurence of fid
}
"Быстрый" алгоритм поиска?
UPD: обидно, что не скомпилится из-за бряков вне цикла.
break {
break;
};
и наконец пусть брякается вся программа, одним большим глобальным бряком!
Или метки делать.
Вообще поставит в ступор %)
Вот поэтому лучше или метка или бряк только на один уровень...
зы исправил на отступы в 2 пробела
move eax as integer to edx as integer at central processing unit
O(_)
К сожалению, кодеры пишущие с такой сложностью алгоритма, ещё не перевелись....
fxd
И кстати, пока есть возможность, хотел тут с функциональщиной познакомиться, какой для этого язык подойдёт?
Плюс JavaScript вроде не мешает в императивном стиле писать.
UPD: Или это ответ на первый вопрос?
Но дает писать и в функциональном ;) И даже тот же хаскель дает писать императивно...
- Scheme
- Scala
- Nemerle
- Haskell
С Nemerle не работал, но подозреваю, что это аналог Scala под .NET с мощной системой метапрограммирвания, что, опять же, отвлекает нас от ФП.
В любом случае, начать со Scheme будет весьма полезно.
http://www.youtube.com/watch?v=8BmBSQUdLYA