c++语言,对一个不带头结在带头节点的单链表表,将相邻两节点互换位置,如1->2->3>4互换后为2->1->4->3;

带头结在带头节点的单链表表逆序输出

写了一个算法只适用于无头结点带头结点的居然蒙住了,求帮助~~~

下面是我写的适用于无头结点的


当输入头结点的会输出data进而崩潰,但是如果这么改

头结点和尾节点又都会直接return 我直接崩溃了 求解啊!!!!

}
LinkListLL是我创建的不带头节在带头节點的单链表表,当我进行删除操作时一个LinkList的变量LinkListp的值刚好有p=L,然后我free(p);之后L就出错误了........希望大神们提供一个不带头节... LinkList LL是我创建的鈈带头节在带头节点的单链表表,当我进行删除操作时一个LinkList的变量LinkList

删除头和删除其他节点的算法是不一样的,必须分开写删除头的时候必须允许修改头节点指针,所以应该用二重指针建议这样写:

//删除p之后的一个节点

你上边的代码肯定会出错啊,你的意思是不是这样

暂且当成这样:错误之处是,P和L指向的是同一块内存你把p释放了,那L肯定就报错了啊!

你的里面没有new啊所以就不用free

}

我要回帖

更多关于 在带头节点的单链表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信