30分钟-算法链表实战演练

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30分钟-算法链表实战演练相关的知识,希望对你有一定的参考价值。

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


30分钟-算法链表实战演练

01 什么是链表?

一篇文章、10分钟解释什么是链表


02 实战

废话不多说,放我的练习demo源码,运行走起来(只供参考哈,上面注释写的蛮全的):

/**
 * 有头结点链表实现
 * @author yangzhenyu
 * */
public class LNode<T> {
    T data;
    LNode next;
}
package com.yzy.demo.javatest.link;
/**
 * 单链表生成
 * */
public class LinkList<T> {
    //头部结点
    LNode head = new LNode();
    //当前结点
    LNode cur = head;
    /**
     * 链表新增
     * */
    public  <T>void push(T msg){
        LNode tmp = new LNode();
        tmp.data = msg;
        cur.next = tmp;
        //通过引用来实现结点递增
        cur = tmp;
    }
    /**
     * 链表删除
     * 原理 前驱结点.next = 后继结点
     * */
    public <T>void delete(T msg){
        //前驱结点
        LNode innerCur = new LNode();
        //后继结点
        LNode next = new LNode();
        for (cur = head.next;cur!=null;cur = cur.next){
            if (msg instanceof Integer){
                if (msg == cur.data){
                    next = cur.next;
                    innerCur.next = next;
                }
            }else {
                System.out.println("不支持这个种类删除");
            }
            innerCur = cur;
        }
    }
    public static void main(String[] args) {
        LinkList<Integer> linkList = new LinkList<>();
        for (int i=0;i<5;i++){
            linkList.push(i);
        }
        for (linkList.cur =linkList. head.next;linkList.cur!=null;linkList.cur = linkList.cur.next){
            System.out.println("删除结点前:"+linkList.cur.data);
        }
        System.out.println("=========================================");

        //删除结点
        linkList.delete(3);
        for (linkList.cur =linkList. head.next;linkList.cur!=null;linkList.cur = linkList.cur.next){
            System.out.println("删除结点后:"+linkList.cur.data);
        }
    }
}

运行:
在这里插入图片描述

以上是关于30分钟-算法链表实战演练的主要内容,如果未能解决你的问题,请参考以下文章

30分钟掌握-算法(用链表实现栈)演示

GitHub重磅开源!《计算机视觉实战演练:算法与应用》代码数据集在线学习

GitHub重磅开源!《计算机视觉实战演练:算法与应用》代码数据集在线学习

GitHub开源在线学习资料《计算机视觉实战演练:算法与应用》

GitHub开源在线学习资料《计算机视觉实战演练:算法与应用》

NumPy入门讲座:实战演练