单链表:
package com.wz.util;
class Node<T> {
public T t;
public Node<T> next;
Node(T t) {
this.t = t;
}
public String toString() {
return t.toString();
}
}
public class SingleList<T> {
private Node<T> head;
private int size;
SingleList() {
size = 0;
head = new Node<T>(null); // 表头不放数据
head.next = null;
}
// 插入到链表的前端(表头之后)
public void insertHead(Node<T> n) {
n.next = head.next;
head.next = n;
size++;
}
// 插入到链表的尾部(默认添加方式)
public void insert(Node<T> n) {
n.next = null;
Node<T> current = head.next;
while (current.next != null)
current = current.next;
current.next = n;
size++;
}
// 在指定节点后添加节点
public void insertTo(Node<T> n1, Node<T> n2) {
n2.next = n1.next;
n1.next = n2;
size++;
}
// 删除链表前端节点
public void delHead() {
Node<T> current = new Node<T>(null);
current = head.next;
head.next = current.next;
current = null;
size--;
}
// 删除尾节点
public void delTail() {
Node<T> current = head.next;
Node<T> prev = null;
while (current.next != null) {
prev = current;
current = current.next;
}
prev.next = null;
current = null;
size--;
}
// 删除指定节点
public void del(Node<T> n) {
Node<T> current = head.next;
Node<T> prev = null;
if ((n != null) && (current == n))
delHead();
else {
while ((current != n) && (current != null)) {
prev = current;
current = current.next;
}
prev.next = current.next;
current = null;
size--;
}
}
// 链表长度
public int getSize() {
return size;
}
// 另外一种计算链表长度的方法
public int length(){
int leng = 0;
Node<T> current = head.next;
while(current != null){
leng++;
current = current.next;
}
return leng;
}
// 遍历链表并打印
public void diplay() {
Node<T> current = head.next;
while (current != null) {
System.out.println(current.toString());
current = current.next;
}
}
}
分享到:
相关推荐
Java 数据结构 链表 Java链表 数据结构链表
(2)除了总的模块要求外,还需统计通讯录中男性人数及女性人数,并求出通讯录中的第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块——Menu()的功能是:显示提示...
javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了...
全书内容浅显易懂,利用大量且丰富的图示与范例, 详解复杂的抽象理论,从最基本的数据结构概念开始 说明,再以Java工具加以诠释阵列结构、堆栈、链表 、队列、排序、查找等重要的概念,引领读者抓住重 点轻松进入...
Java语言编写的数据结构-链表实现。包括顺序表和单链表、双链表
数据结构-链表 JAVA语言实现,包含单向链表、双向链表、循环链表的遍历、删除和插入 详细介绍:http://blog.csdn.net/z740852294/article/details/77369439
数据结构的定义 数据结构是计算机存储、组织数据的方式,用于高效地访问和修改数据。...Java提供了丰富的数据结构库,包括数组、链表、栈、队列等,这些数据结构为程序员提供了处理各种问题的工具和方法。
java 数据结构 链表 自己写的 java 数据结构 链表 自己写的 java 数据结构 链表 自己写的
Java数据结构 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构
java数组和链表底层-链表的底层原理和实现 数组和链表.pdf
NULL 博文链接:https://zzqrj.iteye.com/blog/512813
链表 链表_使用JAVA语言实现链表数据结构
该资源主要是针对Java开发人员使用的“数据结构-链表”基础知识概况。本人承诺,该资源实属本人自己撰写,绝无抄袭!
电子工业出版社 数据结构课程设计 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括城市名和城市的位置坐标。要求能过利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。
Java数组链表效率-Java数组和链表三种遍历效率对比 数组和链表.pdf
java 数据结构 遍历链表程序 有研究或探讨的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
JAVA链表实现类(数据结构学习).chm
介绍数据结构链表(LingkedList)的概念、特点、优缺点、适用场景和Java示例代码