Java链表的简单实现
来源:互联网 发布:js实现隐藏显示 编辑:程序博客网 时间:2024/05/27 00:47
public class LinkedList<T> {private Node<T> first;private Node<T> last;private int size;public boolean add(T e) {Node<T> node = new Node<>();if (first == null) {node.setData(e);node.setNext(null);node.setPrevious(null);first = node;last = node;size++;}else {node.setData(e);node.setPrevious(last);node.setNext(null);last.setNext(node);last = node;size++;}return true;}public T get(int index){if (first == null) {return null; }else {Node<T> node = first;for (int i = 0; i < index; i++) {node = node.getNext();}return node.getData();}}public void remove(int index){Node node;if (first != null) {node = first;for (int i = 0; i < index; i++) {node = node.getNext();}if (node != null) {if (node.getNext() != null && node.getPrevious() != null) {node.getPrevious().setNext(node.getNext());node.getNext().setPrevious(node.getPrevious());}else if(node.getNext() == null && node.getPrevious() != null){node.getPrevious().setNext(node.getNext());last = node.getPrevious();}else {node.getNext().setPrevious(node.getPrevious());first = node.getNext();}size --;}}}public int size() {// TODO Auto-generated method stubreturn size;}public static void main(String[] args) {LinkedList<String> linkedList = new LinkedList<>();linkedList.add("aaaaa");linkedList.add("aaa");linkedList.add("bbb");linkedList.add("bbbbb");System.out.println(linkedList.size);linkedList.remove(3);System.out.println(linkedList.size);for (int i = 0; i < linkedList.size(); i++) {System.out.println(linkedList.get(i));}}}class Node<T>{private T data;private Node<T> previous;private Node<T> next;public Node() {// TODO Auto-generated constructor stub}public T getData() {return data;}public void setData(T data) {this.data = data;}public Node<T> getPrevious() {return previous;}public void setPrevious(Node<T> previous) {this.previous = previous;}public Node<T> getNext() {return next;}public void setNext(Node<T> next) {this.next = next;}}链表对元素的删除和插入不需要移动元素,只需要修改指针,而查找需要遍历,显得比较麻烦。
0 0
- (25)Java实现简单的链表
- 单向链表的java简单实现
- [记录]Java---实现简单的链表
- Java链表的简单实现
- Java链表的简单实现
- java的双向链表简单实现
- [java数据结构]--java双向链表LinkedList的简单实现
- java实现简单链表
- Java实现简单链表
- java简单实现链表
- java简单链表实现
- java实现简单链表
- Java数据结构之简单的链表的实现
- [数据结构]java实现的简单链表的 头/尾插法
- Java -- 栈、队列等数据结构的简单链表实现
- 基于Java关于链表的简单实现
- Java实现一个简单的链表结构------LinkedList
- 顺序表的简单实现(Java)
- Servlet工作原理解析
- 二进制
- java 实现Excel数据导入数据库时,中文乱码问题
- (转载)expdp / impdp 用法详解
- Selector状态选择器
- Java链表的简单实现
- Linux下cmake使用简介
- 《算法导论》第13章 红黑树
- 【翻译】Xibo官方文档10-Tour-Navigation
- HDU 1010 Tempter of the Bone
- TabLayout中的getSelectedTabPosition()方法返回值错误
- ObjectAnimator animator1 = ObjectAnimator.ofFloat(viewBG, "alpha", 1, 0);一些手机会出现的问题
- Nim博弈两题
- HDU 1176 免费馅饼