MyLink* reverseLink(MyLink* begin){ MyLink* tmp = nullptr; while (begin){ auto top = begin->next; begin->next = tmp; tmp = begin; begin = top; } return tmp; }
void printLink(MyLink* begin,const char* prfix){ while (begin){ printf("%s val:%d\n", prfix, begin->nVal); begin = begin->next; } }
int _tmain(int argc, _TCHAR* argv[]) { MyLink*head = nullptr; for (auto i = 0; i < 5; i++){ head = genLink(head, i); } printLink(head,"orglink "); head = reverseLink(head); printLink(head,"reversed link ");
while (head){ auto tmp = head->next; delete head; head = tmp; } return 0; }