1. 节点类
package com.linkedlist;
public class SLLNode {
public Object info;
public SLLNode next;
public SLLNode(Object e1) {
info = e1;
next = null;
}
public SLLNode(Object e1, SLLNode ptr) {
info = e1;
next = ptr;
}
}
2. 链表类
package com.linkedlist;
public class SLList {
protected SLLNode head = null;
public SLList() {
;
}
public boolean isEmpty() {
return head == null;
}
public Object first() {
return head.info;
}
public void printAll() {
for (SLLNode tmp = head; tmp != null; tmp = tmp.next) {
System.out.println(tmp.info);
}
}
// 好好理解一下
public void add(Object e1) {
head = new SLLNode(e1, head);
// info = e1;
// next = ptr;
}
public Object find(Object e1) {
SLLNode tmp = head;
for (; tmp != null && !e1.equals(tmp.info); tmp = tmp.next) {
;
}
if (tmp == null) {
return null;
} else {
return tmp.info;
}
}
public Object deleteHead() {
Object e1 = head.info;
head = head.next;
return e1;
}
public void delect(Object e1) {
if (head != null) {
if (e1.equals(head.info)) {
head = head.next;
} else {
SLLNode pred = head, tmp = head.next;
for (; tmp != null && !(tmp.info.equals(e1)); pred = pred.next, tmp = tmp.next) {
;
}
if (tmp != null) {
pred.next = tmp.next;
}
} // end else
}// end if
}
}
3. 简单测试
package com.linkedlist;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SLList list = new SLList();
list.add("test1");
list.add("test2");
list.add(1);
list.add(2);
System.out.println(list.deleteHead());
System.out.println(list.find(1));
System.out.println(list.isEmpty());
//list.delect("test2");
System.out.println("------------------------");
list.printAll();
}
}
分享到:
相关推荐
附件是逆序输出单向链表_Java 版本源码,代码首先定义了一个Node类来表示链表的节点,然后定义了一个LinkedList类来表示单链表,并提供了添加节点、打印链表和逆序链表的方法。最后,在Main类中创建了一个链表实例,...
Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现...
这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。
java语言模拟单向链表,JAVA数据结构
04.单向链表以及单向链表的应用.ppt
附件是.java 文件,实现了单链表的逆序算法,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了链表的逆序。reverseList方法...
培训班老师自己写的单向链表,代码非常全,也很好理解,可执行。
单向循环链表源码,包括List的接口定义的源码,实现了List接口的方法。
java单向链表代码实现
操作包括: 1. 在头部添加结点 2. 在尾部添加结点 3. 遍历 4. 逆置 5. 删除
附件是Java版逆序单向链表的实现,一个.java 文件,编译后即可运行,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 代码首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了...
这个说起来也简单就是把1-2-3-4-5这样的链表逆序构建或打印出来5-4-3-2-1。比如用后进先出的栈的特性来做:就是按照链表的顺序把数据压入栈中,再打印栈
类似约瑟夫环问题。有一群人组成一个圈。从头开始按照顺时针方向从1开始依次报数。报到到9的人就离开圈子。其左手边的人接着从1开始报数。依此进行,直到剩最后一个人为止。
约瑟夫问题,通过类实现的链表,并加以改进,做成双向链表
主要为大家详细介绍了Java实现单向链表反转,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java单向链表的实现实例。需要的朋友可以过来参考下,希望对大家有所帮助
一个java实例,用来描述java算法中链表的使用。
华为OD机试 - 单向链表中间节点(Java & JS & Python & C & C++).html付费专栏内容,免费下载,多种语言解法