А что тут сложного...
ну << и >> понятно...
Заводишь переменную - текущая страничка (не важно где)
< и > становится тоже понятно (только вводится проверка
на первый и последний
if(current == 1) - блокировать << и <
if(current == LAST) - блокировать >> и <
Теперь то что внутри - задаешь диапазон
delta = 2 (от текущей)
for(i=(current-delta)<1?1:current-delta;
i<((current+delta)>LAST?LAST:current+delta);i++)
{
if (i == current) risovat\' tekstom
else risovat\' ssilku
}