2019年8月31日
摘要: 给定一个单向链表,编写函数交换相邻 两个元素 输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 输出: 2 -> 1 -> 4 -> 3 -> 6 -> 5 -> 7 输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6 输出: 2 -> 1 -> 4 -> 3 -> 阅读全文
posted @ 2019-08-31 16:36 你不知道的浪漫 阅读(2315) 评论(0) 推荐(0) 编辑
摘要: 给定一个单向链表,编写函数交换相邻 两个元素 输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 输出: 2 -> 1 -> 4 -> 3 -> 6 -> 5 -> 7 输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6 输出: 2 -> 1 -> 4 -> 3 -> 阅读全文
posted @ 2019-08-31 16:22 你不知道的浪漫 阅读(2243) 评论(0) 推荐(0) 编辑
摘要: 在链表中查找元素 函数签名: 如果在链表中查找到这个元素返回true,否则false 迭代法 java: c# 递归法: c语言: java: c# 文章来源:https://www.geeksforgeeks.org/search-an-element-in-a-linked-list-itera 阅读全文
posted @ 2019-08-31 15:42 你不知道的浪漫 阅读(3159) 评论(0) 推荐(0) 编辑
摘要: 获取链表长度(迭代法和递归法) 迭代法 1、设定一个计数器,初始值为0 2、初始化current到头节点 3、如果current不为null进行以下循环 java: c#: 递归法 java c# 文章来源:https://www.geeksforgeeks.org/find-length-of-a 阅读全文
posted @ 2019-08-31 15:37 你不知道的浪漫 阅读(1544) 评论(0) 推荐(0) 编辑
摘要: 删除节点(3步操作) 删除步骤 1) 找到待删除节点的前驱 2) 修改前驱节点的指针域指向待删除节点的后继节点 3)释放待删除的节点的内存空间 //todo:没有c#的代码添加上去。修改结构,添加一个尾部节点地址的指针 c语言实现: 因为链表中的每个节点都是使用malloc()动态创建的,所以需要调 阅读全文
posted @ 2019-08-31 15:35 你不知道的浪漫 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 插入节点 在链表中插入节点有以下三种情形: 1、在链表头部 2、在特定节点 3、在链表尾部 1)在头部添加(4步操作) 新节点添加到头部,将成为新的头节点,以下将节点添加到链表头部的函数是push,push接收指向链表头部的指针,然后将指针修改 指向新的节点: c语言: Java: push时间复杂 阅读全文
posted @ 2019-08-31 15:34 你不知道的浪漫 阅读(2804) 评论(0) 推荐(0) 编辑
摘要: 基础知识 介绍:链表与数组一样,同属于线性表的一个子集。不同之处在于链表元素并不需要存储到一块连续的内存空间; 链表中的元素通过指针来链接并维护各个节点之间的联系,可使用连续的内存空间、亦可不使用连续的内存空间。 使用链表的原因: 1、数组类型长度是固定的,一旦申明不可以修改长度。在实际使用中我们必 阅读全文
posted @ 2019-08-31 15:31 你不知道的浪漫 阅读(256) 评论(0) 推荐(0) 编辑