首页 > 其他分享 >day03 链表基本操作

day03 链表基本操作

时间:2023-07-14 23:22:29浏览次数:43  
标签:遍历 day03 next 链表 当前 移除 基本操作 节点

前置知识,链表数据结构

1. 移除链表元素

移除链表元素不难,只需要把前一个结点的下一节点指向下一个节点的下一节点

如果当前遍历的节点与所给值相等,则需要移除此元素,移除元素是将上一节点的next域设置为当前节点的next,当前节点后移一位
如果当前遍历的节点值不等于所给值,则前驱指针指向下一节点,当前节点往后移一位
当前节点为空,即移到了链表的末尾,则完成遍历。以上在非头尾节点的逻辑,现在需要确定初始值如何设置,前驱节点prev,当前节点curr。因为存在当前节点为所给值的情况,所以当前节点初始值需要设置为head,前驱节点就需要设置一个空节点,并将此空节点的next域设置为head,最终的头节点为此空节点的next域。
代码如下

2.设计链表

3.反转链表

标签:遍历,day03,next,链表,当前,移除,基本操作,节点
From: https://www.cnblogs.com/mangos/p/17555334.html

相关文章

  • java学习day03:循环结构
    我在B站上大学......
  • go 给一个切片,将其写入到一个单链表中
    packagemainimport"fmt"//功能:实现一个单链表(给一个切片,将其写入到一个单链表中)typeNodestruct{ValueintNext*Node}funccreate(slice[]int)*Node{iflen(slice)==0{returnnil}node:=new(Node)node.Value=sl......
  • Oracle EBS:注册Form表单和function功能基本操作
    OracleEBS:注册Form基本操作。这里将注册Form的基本步骤记录下来。1.首先,查看当前用户是否具备应用开发员责任。如果没有需要为当前登录用户配置应用开发员责任权限。2.配置完应用开发员角色后,打开oracleApplication表单界面,切换角色到应用开发员,打开应用产品,即可看到表单注......
  • 【剑指Offer】3、从尾到头打印链表
    【剑指Offer】3、从尾到头打印链表题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解题思路:(三种方法:借助栈、递归、列表的首位插入)从头到尾打印链表比较简单,从尾到头很自然的可以想到先将链表进行反转,然后再打印。但是,通常我们不希望改变原链表的结构,这是......
  • 数据结构练习笔记——单链表的创建
    单链表的创建【问题描述】从键盘终端输入若干整数,为其创建带头节点的单链表存储结构【样例输入】51223323345【样例输出】1223323345【样例说明】第一行的数为单链表中元素的个数,后面为各元素的值#include<iostream>usingnamespacestd;structLNode{......
  • 数据结构-链表带哨兵
    一.链表带哨兵importjava.util.Iterator;importjava.util.function.Consumer;//带哨兵publicclassshuju02implementsIterable<Integer>{//整体privateNodehead=newNode(666,null);//头指针​@Override​publicIterator<Integer>iterator(){​......
  • 力扣-旋转链表
    1.问题描述给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入:1->2->3->4->5->NULL,k=2输出:4->5->1->2->3->NULL解释:向右旋转1步:5->1->2->3->4->NULL向右旋转2步:4->5->1->2->3->NULL 示例2:输入:0->1-&g......
  • 双链表实现
    题目实现一个双链表,双链表初始为空,支持$5$种操作:在最左侧插入一个数;在最右侧插入一个数;将第$k$个插入的数删除;在第$k$个插入的数左侧插入一个数;在第$k$个插入的数右侧插入一个数现在要对该链表进行$M$次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中......
  • Day03-15 方法
    1、何谓方法?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原......
  • LeetCode 234. 回文链表
    classSolution{public:ListNode*reverse(ListNode*head)//翻转以head为头节点的链表{if(!head||!head->next)returnhead;autoa=head,b=head->next;while(b){autoc=b->next;b->next=a;......