链表的插入、修改、删除、遍历--java
来源:互联网 发布:java图形界面插件 编辑:程序博客网 时间:2024/06/05 08:41
package List;public class ListNode {private class Node { private Object obj; private Node next = null; Node(Object obj){ this.obj = obj; } } private Node first = null;// 插入操作public void insert(Object obj) {Node node = new Node(obj);node.next = first;first = node;}// 删除public Object deleteFirst() throws Exception{if (first == null) {throw new Exception("empty!"); }Node temp = first;first = first.next;return temp.obj;}// 遍历public void display(){ if(first == null) System.out.println("empty"); Node cur = first; while (cur != null) { System.out.print(cur.obj.toString() + " -> "); cur = cur.next; } System.out.print("\n"); }// 判断是否为空public boolean isEmpty(){ return (first == null); }// 查找某个结点public Object find(Object obj) throws Exception{ if(first == null) throw new Exception("LinkedList is empty!"); Node cur = first;while (cur != null) {if (cur.obj.equals(obj)){return cur.obj;}cur = cur.next;}return null;}// 删除某个结点public void remove(Object obj) throws Exception{if(first == null) throw new Exception("LinkedList is empty!");if (first.obj.equals(obj)) {first = first.next; } else {Node pre = first;Node cur = first.next;while (cur != null) {if (cur.obj.equals(obj)) {pre.next = cur.next;}pre = cur;cur = cur.next;}}}public static void main(String[] args) throws Exception {ListNode listNode = new ListNode();listNode.insert(1);listNode.insert(2);listNode.insert(3);listNode.insert(4);listNode.display();System.out.println(listNode.find(2));}}
阅读全文
0 0
- 链表的插入、修改、删除、遍历--java
- 双向链表的插入、删除、遍历
- C语言实现链表的头插,尾插,插入,修改,删除和遍历
- Java多叉树的创建,遍历,节点插入,删除,修改及节点路径获取
- 二叉树的创建,遍历,查找,删除,插入,修改
- 单循环链表的初始化、插入、删除、遍历、查找
- C++链表的建立,遍历,插入,删除!
- 03链表的创建、插入、删除、遍历、排序
- 数据结构—链表的定义、创建、遍历、插入、删除
- 单链表/双向链表的建立/遍历/插入/删除
- Java 实现链表的插入,遍历
- 双向循环链表的创建修改插入删除操作
- C++实现双向链表的创建,插入,修改,删除
- 单链表的遍历、插入、删除
- java 模拟数组(Array)的查找、插入、删除、遍历
- 二叉搜索树的搜索、插入、遍历和删除(Java)
- 双向链表的功能实现:初始化,插入,按位置插入,按位置删除,按值删除,遍历打印等
- 数据的插入,修改,删除
- 从前端传一个json格式数据到Spring MVC 控制台
- 今天第一次写博客,希望各位多多支持!!!!!!
- Qt学习之旅---3.文件处理,小例子文本编辑器
- 解析自定义属性
- 排序练习1
- 链表的插入、修改、删除、遍历--java
- limit
- python3 环境和pip3搭建简单步骤
- HDU 6184&& 2017广西邀请赛 Counting Stars(三元环计数)
- Nodejs Express 4.X 中文API
- EA&UML日拱一卒-活动图::14.2 Behavior StateMachines(1)
- 基于阈值图像分割
- 今日头条2018 坐标
- transient、volatile关键字