单向链表逆转方法
Posted hustcpp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单向链表逆转方法相关的知识,希望对你有一定的参考价值。
这里介绍增加内存的方法来逆转。利用新内存,复制每个节点的数据,再将头指针的next指向新的头。如此循环遍历原链。
struct data{ data *next; int m_val; };
data* reverse(data *head){ data *new_chain == NULL; data *temp = NULL; while(head != NULL){ temp = (data*)malloc(sizeof(data)); //copy resource temp->m_val = head->m_val; if(new_chain == NULL){ new_chain = temp; }else{ temp->next=new_chain; new_chain = temp; }
head = head->next; } return new_chain; }
以上是关于单向链表逆转方法的主要内容,如果未能解决你的问题,请参考以下文章