2014-12-06 2 views
-1

Java에 대한 답변이 있지만 C++에 적용되는 내용을 찾고 있습니다. 이 코드는 작동하지만 무한 루프가됩니다. 어떤 제안이라도 대단히 감사합니다!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; 
} 
+0

사이드 노트의 첫 번째 멤버를 가리 키도록. NULL이 오래된 것입니다. – Silicomancer

+0

아마도 그 코드를 읽는 것만이 혼란스럽고 고통 스럽습니다. 'p-> 다음은 무엇이라고 생각하십니까? – Silicomancer

답변

0
void mirror(ListType & list) { 

    ListType listMirror = NULL; 
    Node *p = list; 

리스트 형식 '이 listType'이며 p는이 while 루프에 (명백하게 컴파일 때문에) 정의되지 않은 동작을 일으키는 타입 "노드"이다. 사용 nullptr :

변화는이

Node *p = list; 

목록

Node *p = list.firstMemeber()//this is an example, refer to your documentation 
+0

"ListType"은 "typedef Node * ListType"과 같습니다. – humpdawg1331

관련 문제