单链表的倒置

承接上篇单链表的增删改查实现,这里我们讲讲单链表的倒置。
不理解什么是单链表的倒置可以看下图,就是单链表的逆序输出

核心思想代码

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

你可能感兴趣的:(单链表倒置)