package test; public class LinkList { private static class Node{ int data; Node next; Node(int data){ this.data = data; this.next = null; } } Node head;//头结点 public LinkList(){//链表的构造方法 head = null; } public void clear(){//清空链表 head = null; } public void travel(){//遍历打印链表 Node p = head; while(p != null){ System.out.println(p.data); p = p.next; } } public boolean isEmpty(){//判断链表是否为空 return head == null; } public int size(){//得到节点的个数 Node p = head; int sum = 0; while(p != null){ sum++; p = p.next; } return sum; } public void insert(int value, int pos){//指定位置插入节点 if(pos < 0 || pos > size()){ throw new RuntimeException("下标异常"); } Node newNode = new Node(value); if(pos == 0){ newNode.next = head; head = newNode; }else if(pos >= (size()-1)){ get(size()-1).next = newNode; }else{ newNode.next = get(pos); get(pos-1).next = newNode; } } public Node get(int pos){//获取指定位置的节点 if(pos < 0 || pos >= size()){ throw new RuntimeException("下标出错"); } if(pos == 0){ return head; } Node p = head; for(int i=0;i<pos;i++){ p = p.next; } return p; } public void remove(int pos){//删除指定位置的元素 if(pos < 0 || pos >= size()){ throw new RuntimeException("下标出错"); } if(pos == 0){ head = head.next; }else if(pos >= (size()-1)){ Node temp = get(size()-1); temp = null; get(size()-2).next = null; }else{ get(pos-1).next = get(pos).next; Node posNode = get(pos); posNode = null; } } public static void main(String args[]){ LinkList ll = new LinkList(); ll.insert(1, 0); ll.insert(2, 1); ll.travel(); } }
相关推荐
数据结构-链表 JAVA语言实现,包含单向链表、双向链表、循环链表的遍历、删除和插入 详细介绍:http://blog.csdn.net/z740852294/article/details/77369439
一个java实例,用来描述java算法中链表的使用。
由于在项目中需要用到循环链表,然而在JDK没有其实现,所以用Java语言实现了循环链表,供大家学习和参考。若有任何问题请发送E-Mail:wn_lut@126.com,以交流及改进。 Package:com.utilities.structs 打开方式:...
链表 链表_使用JAVA语言实现链表数据结构
java数组和链表底层-链表的底层原理和实现 数组和链表.pdf
Java语言编写的数据结构-链表实现。包括顺序表和单链表、双链表
学生成绩管理语言用C语言写的,用链表实现,包含查询模块,更新模块,输入输出模块,统计模块,文件读写模块,主程序。
使用java语言编译循环双链表,有三个类,分别是一个接口类,一个循环双链表继承接口的实现类,一个循环双链表的测试类
链表 概念、链表的优势、链表的c语言和java语言的实现
java代码实现链表创建及链表反转
java语言 数据结构 单链表的实现
Java用数组和链表的方式简单实现HashMap的增删改功能 数组和链表.pdf
主要介绍了Java语言实现反转链表代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
使用java语言实现双向链表,提供测试用例说明功能
java双端队列的实现-Java实现自定义双端队列(链表和数组两种方式) 数组和链表.pdf
Java语言中的对象引用实际上是一个指针(本文中的指针均为概念上的意义,而非语言提供的数据类型),所以我们可以编写这样的类来实现链表中的结点。 class Node { Object data; Node next;//指向下一个结点 } 将数据...
数据结构与算法----线性表及Java实现顺序表、链表、栈、队列 定义线性表节点的结构.pdf
Amazon 面试题,如何用O(N)实现在链表中找出 是否出现循环(Loop),算法也可以用在其他语言(C,C++等)
这是一个简易的编译器,可以编译并执行java语言(简易),很适合课程设计和毕业设计。
java代码-使用java面向对象的方法实现链表的源代码 ——学习参考资料:仅用于个人学习使用!