数据结构 链表

链表链表(linked list),由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时 i 动态生成数据域: 存储数据的元素指针域: 存储下个节点的地址单向链表由各个内存结构通过一个 Next 指针链接在一起组成,每一个内存结构都存在后继内存结构(链尾除外),内存结构由数据域和 Next 指针域组成Main :(执行类)public class Main { public static void main(String[] args) {
摘要由CSDN通过智能技术生成

链表

链表(linked list),由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时 i 动态生成

数据域: 存储数据的元素
指针域: 存储下个节点的地址

单向链表

由各个内存结构通过一个 Next 指针链接在一起组成,每一个内存结构都存在后继内存结构(链尾除外),内存结构由数据域和 Next 指针域组成

Main :(执行类)

public class Main {
   
    public static void main(String[] args) {
   
        
        //实例 操作对象
        MyLink myLink = new MyLink();
        
        //初始化链表数据
        // 参数: name , id
        Node[] staff = {
   
                new Node(121,"小爱" , "00001"),
                new Node(112,"可怡"  , "00023"),
                new Node(233,"小黑" , "33123")
        };
        
        //添加链表
        for(Node tmp : staff){
   
            myLink.addLast(tmp);
        }
        
        //添加单链 (最后)
        myLink.addLast(new Node(232 , "智乃" ,"44221"));
        
        //插入单链(索引)  在 "可怡" 节点 链后添加 "黑猫" 节点
        myLink.addByValue(112 , new Node(234,"黑猫" , "00444"));
        
        // 节点值为121  "可怡" 删除
        myLink.removeNode(112);
        
        //查询数据
        System.out.println("查询节点值 234 的数据 : ["+myLink.getNode(234)+"]");
        
        // 遍历链表
        System.out.println("=================");
        for (Node tmp : myLink.getNodeAll()){
   
            System.out.println(tmp.toString());
        }
        System.out.println("=================");
        
    }
}

Node :(单链节点类)

/**
 * 单列节点
 * 链表中的节点,
 * data   代表节点的值
 * next   指向下一个节点的引用
 * @author Administrator
 */
public class Node {
   
    
    /**数据域 (员工数据)
     * name - 姓名
     * id - ID号
     * */
    String name;
    String id;
    
    /**指针域 (链表数据)
     * data - 节点的对象,即内容
     * next - 节点的引用
     */
    int data;
    Node next = null;
    
    //构造方法
    
    public Node() {
   
    }
    
    public Node(int data) {
   
        this.data = data;
    }
    
    public Node(int data , Node next) {
   
        this.data = data;
        this.next = next;
    }
    
    public Node(String name , String id) {
   
        this.name = name;
        this.id = id;
    }
    
    public Node(int data , String name , String id) {
   
        this.data = data;
        this.name = name;
        this.id = id;
    }
    
    public Node(int data , Node next , String name , String id ) {
   
        this.name = name;
        this.id = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值