![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单链表
奋斗啦哈
这个作者很懒,什么都没留下…
展开
-
在单链表的第i个位置插入一个新结点
在单链表的第i个位置插入一个新结点,首先要判断链表是不是空的,其次要找到链表的第i-1个结点位置,最后还要考虑是不是在第1个位置插入一个数据元素,要注意是不是尾结点后一位插入一个新结点。实现过程如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * *时间 2016年8月23日 */public class In原创 2016-08-23 14:03:29 · 15196 阅读 · 0 评论 -
在O(1)时间删除链表结点
在O(1)时间删除链表结点,首先分析链表是不是空的,其次要分析要删除的结点是否存在,最后分析链表是不是要删除的尾结点。其实现过程如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * *时间 2016年8月28日 */public class DeleteNode { /** * @author jcm原创 2016-08-24 15:26:26 · 241 阅读 · 0 评论 -
单链表的中间结点
单链表的中间结点,首先需要判断链表的长度,当链表的长度少于3时,则返回null,其次定义两个指针,让一个指针firstNode走两步,另一个指针secondNode走一步,当firstNode指针走到链表的尾部时,返回secondNode指针。实现过程如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * *时间 2原创 2016-08-23 19:22:59 · 394 阅读 · 0 评论 -
单链表的反转(用循环和递归实现单链表反转)
单链表的反转,首先要考虑,如果链表是空链表或者是一个链表,则不需要反转。其次要考虑反转时,需要三个指针,分别是前一个指针,当前指针,和下一个指针。最后要把头结点指针的指向赋值null,同时头结点指针重新指向前一个指针。分别用非递归和递归实现单链表反转。循环实现单链表反转:package cn.edu.nwu.structs.linklist;/** * @author jcm *原创 2016-08-23 18:46:34 · 945 阅读 · 0 评论 -
合并两个有序递增的链表,使得合并后新链表还是有序的
合并两个有序递增的单链表,使得合并后,新链表也是递增有序的。这里分别使用循环、递归实现合并有序链表循环实现链表合并和递归实现链表的合并如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * *时间 2016年8月22日 */public class MergeLinkList { /** * @author原创 2016-08-22 21:29:30 · 1701 阅读 · 0 评论 -
查找并输出单链表的倒数第k个结点
要输出单链表的倒数第k个结点,可以先遍历整个链表,求出链表大小,假设链表大小是n,再次遍历链表n-k+1次,这个链表就是我们要输出的链表结点,但是发现实现这个功能需要遍历两次。改进一次遍历完成输出倒数第k个结点,这里用两个结点指针实现一次遍历,先让第一个结点指针遍历k-1次,然后同时让两个结点指针同时移动,始终使两个结点指针结点相差是k-1个,直到第一个结点指针到达链表表尾,那么第2个结点指针是要原创 2016-08-22 19:14:53 · 689 阅读 · 0 评论 -
求单链表结点个数
要获取单链表结点个数,需要判断单链表是不是空链表,如果是空链表,则返回0,如果不是,遍历单链表,定义当前结点指向头指针,然后while循环,只要满足当前结点不等于null,结点长度加1。实现过程分别是循环遍历和递归循环遍历实现过程如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * *时间 2016年8月23日原创 2016-08-22 17:07:22 · 7986 阅读 · 0 评论 -
从尾到头打印链表
从尾到头打印链表,由于单链表只有一个指针,而且是单向的访问。所以要用栈或者递归来实现从尾到头打印单链表。用栈和递归实现如下所示:package cn.edu.nwu.structs.linklist;import java.util.ArrayList;import java.util.Stack;/** * @author jcm * *时间 2016年8月22日 */p原创 2016-08-24 20:45:06 · 554 阅读 · 0 评论