Обратный круговой связанный список fucntion идет не так ! !
я пытаюсь написать функцию для реверсии кругового вида связанного списка !! я прочитал кое-что , и я понимаю, используя 3 указателя, и я нахожу это особенно трудным и не работающим, поэтому любая альтернатива с использованием только "последнего" или я имею в виду не используя 3 указателя и все еще обращая вспять !!!
Что я уже пробовал:
struct node { int data; struct node *next; }*last = NULL, *p, *q, *rear = NULL, *x;
// Обратная функция, трудная для понимания и все же не дающая результатов
void circular_llist::reverse() { x = last->next; p = last; last->next = NULL; while (x) { q = x->next; x->next = p; last = x; p = x; x = q; } }
//Главный
int main() { circular_llist cl; cl.reverse(); }