node *rever(node *root)
{
node *prev = NULL;
node *xnew = NULL;
while (root != NULL) {
xnew = malloc(sizeof(root));
xnew->value = root->value;
xnew->next = prev;
prev = xnew;
root = root->next;
}
return xnew;
}
안녕하십니까,이 링크드 리버스 기능을 작성했습니다. 그러나 그것은 작동하지 않습니다 (빈 응답) : 나는 이전 인덱스가 덮어 쓰기 때문이라고 생각합니다. 누군가 나에게 무슨 일이 일어 났는지 설명 할 수 있을까? 나는 인터넷에서 작동 코드를 찾을 수 있지만 내가 뭘 잘못하고 있는지 알고 싶어. 정말해야링크 된 목록 C의 반전 C
감사
알고 싶다면 - 디버거를 사용하십시오. –
새로운 목록을 만들어야합니다. 목록을 제자리에서 되돌리고 새 목록을 만들지 않아도됩니다. –
"이 질문은 더 이상 재생할 수 없거나 간단한 인쇄상의 오류로 인해 발생했습니다." 코드가 올바르다. (orig리스트를 따라 가다가 새로 할당 된 노드를 사용하여 스택에 항목의 사본을 푸시한다. 단지 malloc이 잘못되었다.) – Kaz