2021-2022-1 20211420《信息安全专业导论》链表

有关链表

链表特点

链表的第一个结点和最后一个结点为首结点和尾结点
尾结点的链接(next)为空(null)
每个结点next引用都相当于一个指针,指向另一个结点

插入操作


根据链表特点和图示,可以写出插入操作的关键步骤:
1.指明新结点后继:s.setNext(p.getNext())
或s.next=p.next
2.指明新结点的前驱:p.setNext(s)或p.next=s
所以可以设计伪代码如下

Insert data into SinglyLinkedlist   #指明名称
Set SLL                             #设定一个链表
Display data from head              #从链表的head处开始遍历链表
IF (data=s)                       #s为需要插入的元素,其位置在p元素后面
    s.next=p.next                   #将s的链接设置为p的链接
    p.setNext(s)                    #在p的链接处设置元素s,即插入元素s
IF (data=null)                    #判断data遍历到链表的尾部
    write SLL                       #打印新链表

删除操作

原理和插入是类似的

设计伪代码如下

Delete data from SinglyLinkedlist   #指明名称
Set SLL                             #设定一个链表
Display data from head              #从链表的head处开始遍历链表
IF (data=t)                       #t为需要删除的元素,其位置在p元素后面
    t.next=p.next                   #将t的链接设置为p的链接
    p.setNext(q)                    #在p的链接处设置元素q,元素q可以是t后面一个元素,也可以是尾部的null
IF (data=null)                    #判断data遍历到链表的尾部
    write SLL                       #打印新链表
posted @ 2021-11-09 18:56  シバ鳥  阅读(23)  评论(0编辑  收藏  举报