java 单链表 添加 插入 删除
来源:互联网 发布:固定资产标签软件 编辑:程序博客网 时间:2024/06/05 22:46
package nodelist;
public class LinkListTest {
public Node head = new Node();// 定义一个头节点
public LinkListTest() {}/** * 添加一个节点 * * @param data */public void addNode(int data) { Node node = new Node(data); Node temp = head; while (temp.next != null) { temp = temp.next; } temp.next = node;}/** * 插入某位置节点 * * @param index * @param node */public void insertNodeByIndex(int index, Node node) { if (index < 1 || index > getListLength()) { System.out.println("插入位置不合法"); return; } Node temp = head; int length = 1;// 记录光标位置 while (temp.next != null) { if (index == length) { // 找到要插入的位置,进行插入操作, node.next = temp.next; temp.next = node; } else { temp = temp.next; } length++; }}/** * 删除某位置的节点 * * @param index */public void deleteNodeByIndex(int index) { if (index < 1 || index > getListLength()) { System.out.println("删除位置不合法"); } Node temp = head; int length = 1; while (temp.next != null) { if (index == length) { temp.next = temp.next.next; return; } else { temp = temp.next; } length++; }}public int getListLength() { int length = 0; Node temp = head; while (temp.next != null) { length++; temp = temp.next; } return length;}/** * 查找所有的节点 */public void displayAllNodes() { Node temp = head; while (temp.next != null) { temp = temp.next; System.out.println(temp.data); }}/** * @param args */public static void main(String[] args) { LinkListTest list = new LinkListTest(); list.addNode(1); list.addNode(2); list.addNode(3); list.insertNodeByIndex(1, new Node(10)); list.displayAllNodes(); System.out.println("--------------"); list.deleteNodeByIndex(1); list.displayAllNodes(); // System.out.println(list.getListLength());}
}
阅读全文
0 0
- java 单链表 添加 插入 删除
- java单链表的添加、插入、删除
- 动态添加、插入、删除菜单
- 添加、删除、插入和替换[文本节点]
- 支持插入、添加、删除的PyGridTableBase子类
- 行式填报表自定义插入添加删除按钮
- 动态添加菜单\删除菜单\插入菜单
- 创建,添加,插入和删除DOM元素
- UI之tableViewEdit(删除,添加,插入)
- mysql 建表 插入数据 添加删除主外键
- 列表的添加、插入、删除、切割、合成
- 队列的 插入 删除 添加操作
- java添加删除cookie
- 创建表,添加修改删除字段,插入修改删除数据
- 单链表的插入删除
- 单链表创建,插入,删除
- 单链表的插入删除
- 单链表初始化、插入、删除
- js导出excel, 并解决文件名是随机的问题,兼容多个浏览器
- windows安装paramiko--- 以及依赖模块pycrypto
- Android vector标签 PathData
- 世界冠军 | 腾讯AI Lab斩获知识图谱顶级赛事KBP 2017世界冠军
- Flyway的“坑”
- java 单链表 添加 插入 删除
- 标签绑定click事件,ios手机系统下微信公众号页面标签点击失效
- hibernate系列十一:一对一关联配置及案例
- ASCII码对照表以及各个字符的解释(精华版)
- Got minus one from a read call
- JAVA设计模式之桥接模式
- 阿里云服务器
- Scala 之控制结构(二)
- BZOJ3223/洛谷P3391