美文网首页
链表相关算法

链表相关算法

作者: adaodao3056 | 来源:发表于2020-10-24 07:42 被阅读0次

查找链表 倒数第n个节点:


WX20201014-190534.png

// 链表节点定义
struct Node {
    // 数据
    int data;
    // 下一个指针
    struct Node * _Nullable next;
};


// 整数数组转单链表
struct Node * arrayToList(int datas[_Nonnull], int length) {
    // 头结点
    struct Node *head = NULL;
    // 尾结点
    struct Node *tail = NULL;
    
    // 将数组中的每一个值作为结点的数据
    for (int i = 0; i < length; i++) {
        // 创建节点
        struct Node *node = malloc(sizeof(struct Node));
        node->data = datas[i];
        node->next = NULL;
        
        // 新节点加到链表末尾
        if (NULL == head) {
            head = node;
            tail = node;
        } else {
            tail->next = node;
            tail = tail->next;
        }
    }
    
    // 返回头结点
    return head;
}


// 反转链表
struct Node * reverseList(struct Node *head) {
    struct Node *previous = NULL;
    struct Node *current = head;
    struct Node *next = NULL;
    
    // 反转
    while (NULL != current) {
        // 1. 将下一个保存在`next`中。
        next = current->next;
        // 2. 反转:将下一个指向前一个。
        current->next = previous;
        // 3. 移动:前一个移动到当前。
        previous = current;
        // 4. 移动:当前移动到下一个。
        current = next;
    }
    
    // current已经移动到最后,previous就是新的头
    return previous;
}

相关文章

  • 数据结构与算法学习-链表下

    前言 上一篇文章讲了链表相关的概念,这篇主要记录的是和链表相关的算法以及一些写好链表算法代码相关的技巧。 实现单链...

  • 单链表

    单链表一些相关的算法集锦,单链表的算法可以提高逻辑能力。 反转链表 最基本的链表的题目,很简单的迭代操作,需要注意...

  • 链表相关算法

    查找链表 倒数第n个节点:

  • 链表相关算法

    打印链表 判断链表是否有环形 首先创建两个指针1和2,同时指向这个链表的头节点。然后开始一个大循环,在循环体中,让...

  • 数据结构与算法相关

    第二章 数据结构与算法相关 1.常用的数据结构有哪些? 数组、栈、队列、链表(单链表、双向链表、循环链表)、树、散...

  • 嵌入式day16

    基本运算的相关算法 建立单链表 算法思路:依次读入表L=(a0................,an-1)中每一个...

  • 链表相关算法题

    从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回) 题目解读:题目的大致意思链表是...

  • 算法--链表相关套路

    链表 链表题一般常考 定义 单链表:一个节点 + 指向下一个节点的指针 头指针:第一个节点,head 尾指针:最后...

  • 数据结构 - 单向链表及相关算法

    单向链表 链表常见算法 链表反转

  • 2019 算法面试相关(leetcode)--字符串

    1、七种常见的数组排序算法整理(C语言版本)2、2019 算法面试相关(leetcode)--数组和链表3、201...

网友评论

      本文标题:链表相关算法

      本文链接:https://www.haomeiwen.com/subject/kyvwpktx.html