栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java学习】数据结构-循环单链表

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java学习】数据结构-循环单链表

链表结构:

private static class Node{
        int num;
        Node next;
        Node(int num,Node next){
            this.next=next;
            this.num=num;
        }
    }

初始化:
head不存数据

public singlelist(){
        head=new Node(Integer.MAX_VALUE,head);
        tail=head;
        len=0;
    }

遍历:

    public void printall(){
        Node node;
        node=head.next;
        while(node!=head){
            System.out.println(node.num);
            node=node.next;
        }
    }

插入

//头插法
	public void insertHead(int num){
        Node node=new Node(num,head.next);
        head.next=node;
        len++;
    }
    //尾插法
    public void insertTail(int num){
        Node node=new Node(num,head);
        tail.next=node;
        len++;
    }

根据位置删除:

    public int deleteOrder(int index){
        int x=0;
        Node node=head;
        int num=0;
        while (num!=index-1){
            node=node.next;
            num++;
        }
        x=node.num;
        node.next=node.next.next;
        //输出数字
        return x;
    }

根据数据删除:(删除第一个)

public int deleteCompare(int number){
        int x=0;
        Node node=head;
        while (node.next.num!=number){
            node=node.next;
            x++;
        }
        node.next=node.next.next;
       //输出位置
        return x;
    }

调用:

public static void main(String[] args) {
    singlelist list = new singlelist();
    Scanner in = new Scanner(System.in);
    while (in.hasNext()) {
        int item = in.nextInt();
        list.add(item);
    }
    System.out.println(list.deleteOrder(1));
    list.printall();
}

能力有限,希望多多指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692631.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号