承接上篇单链表的增删改查实现,这里我们讲讲单链表的倒置。
不理解什么是单链表的倒置可以看下图,就是单链表的逆序输出
核心思想代码
typedef struct listNode
{
int data; //数据域
struct listNode *next; //指针域
}linkList;
void reverseLinkList(linkList *tempList)
{
linkList *newList = tempList->next, *node;
tempList->next = NULL;
while(newList)
{
node = newList;
newList = newList->next;
node->next = tempList->next;
tempList->next = node;
}
}
核心思想:头插法创建单链表(如果这个会的话,倒置很简单)
过程图(承接上面代码)⊙﹏⊙字好丑(可拖拽图片到桌面方法查看)
实例代码可以点击Demo查看
更多数据结构与算法实例代码查看(下载)地址:https://github.com/52UUD/Algorithm-Design