模拟单链表
来源:互联网 发布:windows loader怎么用 编辑:程序博客网 时间:2024/06/06 22:20
package l1;//单链表public class Link {Node head;public Link() {head = new Node();head.next = null;}/** * * @Title: addNode * @Description: TODO(添加节点) * @param @param data 参数说明 * @return void 返回类型 * @throws */public void addNode(String data) {Node p = head;while (p.next != null) {p = p.next;}p.next = new Node(data);}/** * * @Title: delNode * @Description: TODO(删除节点) * @param @param data 参数说明 * @return void 返回类型 * @throws */public void delNode(String data) {Node p = head;if (p.next == null) {return;}while (p.next != null) {if (p.next.name.equals(data)) {p.next = p.next.next;break;} else {p = p.next;}}}/** * * @Title: display * @Description: TODO(遍历链表) * @param 参数说明 * @return void 返回类型 * @throws */public void display() {Node p = head;while (p.next != null) {System.out.println(p.next.name);p = p.next;}}/** * * @Title: findNode * @Description: TODO(查找节点) * @param @param data 参数说明 * @return void 返回类型 * @throws */public void findNode(String data) {Node p = head;while (p.next != null) {if (p.next.name.equals(data)) {System.out.println("data=" + p.next.name);break;} else {p = p.next;}}}/** * * @Title: insertNode * @Description: TODO(插入节点) * @param @param beforeData* @param @param data 参数说明 * @return void 返回类型 * @throws */public void insertNode(String beforeData, String data) {Node p = head;while (p.next != null) {if (p.next.name.equals(beforeData)) {Node temp = p.next;Node insertNode = new Node(data);insertNode.next = temp.next;temp.next = insertNode;break;} else {p = p.next;}}}/** * * @Title: size * @Description: TODO(获取节点大小) * @param 参数说明 * @return void 返回类型 * @throws */public void size() {Node p = head;int i = 0;while (p.next != null) {System.out.println(p.name);p = p.next;i++;}System.out.println("长度:" + i);}}
package l1;//节点类public class Node {String name;Node next;public Node() {}public Node(String name) {super();this.name = name;next = null;System.out.println("生成节点:" + name);}}
package l1;public class TestLink {public static void main(String[] args) {Link link = new Link();link.addNode("1");link.addNode("2");link.addNode("3");link.addNode("4");link.display();System.out.println("-------------");link.delNode("3");link.display();System.out.println("----------------");link.insertNode("2", "3");link.display();}}
0 0
- 模拟单链表
- JS模拟单链表
- 单链表模拟加法
- Java 模拟单链表
- java-模拟单链表实现
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟:
- 模拟
- 模拟
- 模拟
- 深入springMVC------文件上传源码解析(上篇) 最近在项目中,使用springmvc 进行上传文件时,出现了一个问题: org.springframework.web.multipart
- 解析Unity中transform.positon.x不能赋值的原因
- ServerSocket 用法详解(一) .
- RGB接口几个控制信号
- Hibernate框架入门
- 模拟单链表
- 题目1443:Tr A
- 父元素,子元素之间的margin-top问题
- 猫都能学会的Unity3D Shader入门指南(二)
- java发送http的get、post请求
- QEMU COLO (Fault Tolerance) 容错功能总结
- yyyyMMddhhmmss(20170425165036)转为yyyy-MM-dd HH:mm:ss(2017-4-25 16:50:36)
- JavaSE-day07笔记
- Laravel中Contracts的理解和使用