Есть ответ для Java, но мы ищем что-то, что относится к C ++. Этот код работает (вроде), но входит в бесконечный цикл. Любые предложения очень ценятся!
void mirror(ListType & list) {
ListType listMirror = NULL;
Node *p = list;
listMirror = p;
listMirror->next = NULL;
Node *q = listMirror;
while (list->next != NULL){
p = p->next;
listMirror = p;
q = listMirror->next;
p->next;
if (p = q)(list->next = NULL);
}
list->next = listMirror;
}
void mirror(ListType & list) {
ListType listMirror = NULL;
Node *p = list;
list имеет тип «ListType», а p имеет тип «Node», это вызывает неопределенное поведение (так как оно, очевидно, компилируется) в цикле while.
изменить это
Node *p = list;
указать на первого члена списка
Node *p = list.firstMemeber()//this is an example, refer to your documentation