Возможный дубликат:
Обратить каждые k узлы связанного списка
Скажем, связанный список ‹1,3,6,4,8,9,0,2>. Вызов reversek(3) приведет к ‹6,3,1,9,8,4,2,0>. Я написал обратную функцию, которую можно использовать в качестве вспомогательной функции в reversek. Вот моя обратная функция, которая переходит от заданной начальной точки к заданной конечной точке:
void List::reverse(Node * & start, Node * & end)
{
Node *pter = start;
while (pter != NULL)
{
Node *tmp = pter->next;
pter->next = pter->prev;
pter->prev = tmp;
if (tmp == NULL)
{
endPoint = startPoint;
startPoint = pter;
}
pter = tmp;
}
Я не понимаю, как реализовать реверсек, любая помощь приветствуется.
6,3,1,9,8,4,0,2
для вашего примера? - person Mahesh   schedule 27.09.2012