转载别人的博客,考虑的很全面。
(1)链表的基本知识:
https://blog.csdn.net/morixinguan/article/details/68951912
(2)将两个有序的链表合并。
https://blog.csdn.net/u012155923/article/details/52629526
(3)链表翻转
1>非递归实现的程序
node* reverseList(node* H)
{
if (H == NULL || H->next == NULL) //链表为空或者仅1个数直接返回
return H;
node* p = H, *newH = NULL;
while (p != NULL) //一直迭代到链尾
{
node* tmp = p->next; //暂存p下一个地址,防止变化指针指向后找不到后续的数
p->next = newH; //p->next指向前一个空间
newH = p; //新链表的头移动到p,扩长一步链表
p = tmp; //p指向原始链表p指向的下一个空间
}
return newH;
}
