使用递归算法删除不带头结点单链表L中所有值为X的结点

使用递归算法删除不带头结点单链表L中所有值为X的结点

设计一个递归算法,删除不带头结点的单链表L中所有值为X的结点。 根据题目中,删除单链表L中所有值为X的结点,也就把if(data == x)的值删掉。本题的重点是考察递归算法,同时要求单链表不带头结点。 那么,下面具体看看使用递归算法是如何实现的。 一、递归算法代码 void Del_X_recursion(Linklist &L,int X) { if(……

  • c/c++
  • 2019-07-21 17:08:06
  • 3,134 次阅读

单链表元素结点插入的重要环节

单链表元素结点插入的重要环节

单链表结点的插入过程,可以理解为元素结点指针的链接过程,即改变结点指针域的地址而改变指针指向。虽然单链表结点整个插入过程很简单,但重点是体会结点链接思想,从而感觉到学习单链表也能找到很多的乐趣。 单链表结点插入图解如下所示: 上图简单概括为:将p指针当前所指结点指针域中的地址赋值给s指针所指结点指针……

  • c/c++
  • 2017-10-19 14:48:16
  • 2,727 次阅读

头插法建立带头结点的单链表

头插法建立带头结点的单链表

单链表的删除和插入操作是线性表中比较重要一部分,而这些操作又是线性表中的难点,同时也是考试的重点。对于初学者来说,在看一些算法描述时往往读起来很费劲,为此我们可以做一些图解,方便加深理解。下面是头插法建立带头结点单链表的图解及算法。 ①头插法单链表图解如下: ②头插法单链表算法如下: void insertFront……

  • c/c++
  • 2017-10-17 21:30:05
  • 5,146 次阅读

交换单链表结点的算法

交换单链表结点的算法

单链表交换结点的操作是比较常见的算法之一,掌握这类比较难点的算法对学习数据结构的其它链表算法的操作或多或少有帮助。下面是单链表中交换指针p所指结点和其后继结点在链表中位置的算法,同时做了图片为了更方便理解算法的执行过程。单链表交换结点C++算法如下: template <class T> int LinkList : :Exchange (……

  • c/c++
  • 2017-10-09 20:21:08
  • 3,200 次阅读

单链表的逆转算法

单链表的逆转算法

单链表的逆转是一个很经典的算法,在考虑这样相对比较难点的算法时,最好的办法是把单链表的图画出来,这样对照着程序理解起来比较容易点,下面是用C++程序语言写的单链表逆转的算法,要求是在原有的单链表上进行逆转,不允许重新构造一个链表,算法如下所示: template <class T> void LinkList : :Inverse (Node……

  • c/c++
  • 2017-10-08 19:53:52
  • 2,911 次阅读

带头结点的单链表归并操作

带头结点的单链表归并操作

单链表是链表中比较重要的形式之一,它不仅支持动态分配,而且插入与删除元素不需要移动元素的位置,只需改变指针的指示的位置就能完成结点的插入与删除操作。而单链表的归并操作相对比较难一点点,首先是指针比较多,比较搞脑汁,其次是没有图例或者是动画演示,真的很难搞清楚程序是怎么执行的。下面是C程序写的单链表……

  • c/c++
  • 2017-09-18 15:20:45
  • 2,745 次阅读