单链表的结点的修改(思路分析) [数据结构][Java]

单链表的结点的修改(思路分析)

这里我们来做一个修改的操作,修改结点的信息,根据结点的no属性的值来修改
  • 那么我们的no属性当然就是不能更改的
    • 因为我们是要通过结点的no属性作为一个标准来修改结点的其他数据值的
  • 我们修改只是修改结点的数据域,指针域肯定也是不能修改的
    • 如果修改了结点的指针域那么链表的结构也就跟着修改了
  • 其实就是在修改方法中传入一个结点,然后我们通过这个节点的编号(也就是这个编号的no属性值)去单链表中匹配对应的结点,如果在链表中能匹配到和传入的结点的no属性相同的结点,那么就将表中对应的结点中的其他的值修改为传入的这个节点的值 (注意: 我们的修改操作只是修改数据域,并且我们是要根据no属性的值来修改的,所以我们也不修改no的值)
我们可以发现我们做修改操作也还是要遍历链表,而我们只要是涉及到遍历链表那么我们就需要辅助指针(变量)来帮助我们进行遍历

我们对于单链表的结点的修改操作要注意:

  1. 我们单链表修改的时候肯定是不可能修改头结点的,所以我们就是从头结点的下一个节点开始遍历即可 —> 也就是: temp = head.next;
  2. 我们在对单链表中做修改操作的时候我们先判断应该修改的位置,如果能找到我们要修改的结点,那么这个时候我们就返回这个要修改的结点去修改就可以了, 但是如果我们要是找不到修改的结点了(也即是表中没有要修改的结点)怎么办?
    • 这个时候我们就要想办法 : 不如我们就定义一个boolean类型的变量flag,这个变量的默认值为false,这个变量的作用就是来判断我们链表中是否有要进行修改的结点,如果链表中有匹配成功参数结点的结点,也即是要进行修改操作,那么这个时候将个flag的值就修改为true,也就是true就是表示找到了该结点,如果我们在链表中找不到要修改的结点,这个时候我们就将这个flag设置为false,这个时候flag变量的值为false就是表示链表中没有要修改的结点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值