java单链表的添加、插入、删除
来源:互联网 发布:淘宝网最新活动 编辑:程序博客网 时间:2024/05/17 06:50
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 staticvoid 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());
}
}
- java单链表的添加、插入、删除
- java 单链表 添加 插入 删除
- 支持插入、添加、删除的PyGridTableBase子类
- 列表的添加、插入、删除、切割、合成
- 队列的 插入 删除 添加操作
- 单链表的插入删除
- 单链表的插入删除
- 单链表的插入删除
- 单链表的插入、删除
- java学习笔记之单链表的插入和删除
- 线性表的添加、删除、插入功能的顺序实现
- 添加删除、更新按钮的提示确认信息,以及DATAGRID的添加、插入、更新、删除操作。
- 动态添加、插入、删除菜单
- C++单链表的动态创建,查找,遍历,删除,插入,添加,排序
- 单链表的创建、取数据、数据添加、数据插入、数据删除
- 单链表的插入和删除
- 单链表的插入与删除
- 单链表的插入与删除
- RSA指数模数加密
- Qt焦点事件
- 关于Solr定时更新的那些事
- 转载:单目相机姿态解算(OpenCV)
- HQL 基础查询
- java单链表的添加、插入、删除
- JS获取当前时间,设置不可用以前的时间
- bzoj1249 动态凸包【凸包+set】
- concat、concat_ws、group_concat函数用法
- sjone.exe垃圾高度占用cpu的处理(不知道这是一个什么东西)
- redis底层原理
- Scala 之初探(一)
- 如何免费且快速的搭建个人网站
- Android Https请求的简单使用(Volley Https请求的示例)