单向链表逆转方法

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; }

 

以上是关于单向链表逆转方法的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法 —— 单向链表的逆转

C语言反转单向链表的代码

单向环形链表解决Josephu(约瑟夫)问题

单向环形链表解决Josephu(约瑟夫)问题

逆转链表

Java连载83-单向链表双向链表collections常用方法