欢迎光临散文网 会员登陆 & 注册

【数据结构】如何创建一个单链表

2022-04-28 23:55 作者:羽走  | 我要投稿

创建单链表

         如何创建一个单链表?那不是非常简单嘛?单链表与线性表不同,由于它属于一种动态结构,可以根据节点插入位置的不同,分为前插法和后插法。

        1.前插法创建单链表

        前插法就是每次先输入一个节点,然后将这个节点插入到头节点之后,依次往复,就可以创建一个单链表。

    (1)首先创建一个链表,将链表的头节点指针先设为空。

    (2)然后创建一个节点,然后将这个节点插入即可。

        下面将用代码解释如何插入此节点。

       

         讲一讲前插法的一些难点;

        (1)第16行的这里,把L指向的节点给新输入节点的指针。

        (2)前插法的插入顺序是与逻辑顺序相反的,拿数组来说,输入数字都是从左往右输入;但是链表前插法是将每个数字插入到最前面,比如输入的是1 2 3; 但是输出其实存储顺序是 3 2 1;

            然后就是这个样子。(往后顺序顺推即可!)

     2.后插法创建单链表

        相对于前插法,如果题目输入没有特别要求的话,一般使用后插法使用即可。如果题目有特殊要求的话可以采用前插法。而我们更应该注重后插法的使用与掌握。

        书上有一句话是这样说的:“不同的是,为了使新节点能够插入表尾, 需要增加一个尾指针指向链表的尾节点”, 这句话比较重要,先牢记,让我们进入后插的学习中。

        (1)和前插法一样,我们都要先生成一个新的节点p,以方便节点插入。

        (2)这一步是后插法最难理解的地方,课本在这一步的描述是:“将新节点*p插入尾节点*r之后”, 我们一定要知道当前 r 节点到底在哪,我们一开始会将 r 指向头节点。我们每输入一个新的节点p,就插入到尾指针之后 ,然后再让尾指针后移到新节点p上 , 如果这一步理解了,那么后插法基本没什么问题了。

        理论存在,直接上代码。


最后,让读者看一下两个插入方法的区别:

节点定义与课本相同


【数据结构】如何创建一个单链表的评论 (共 条)

分享到微博请遵守国家法律