4.链表尾部添加,中间位置添加,删除,遍历节点,根据key找到节点的value的代码
时间: 2023-09-11 21:10:12 浏览: 47
链表尾部添加:
```java
public void addLast(Node newNode) {
if (head == null) {
head = newNode;
} else {
Node temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = newNode;
}
}
```
链表中间位置添加:
```java
public void addAfter(int key, Node newNode) {
Node temp = head;
while (temp != null) {
if (temp.key == key) {
newNode.next = temp.next;
temp.next = newNode;
break;
}
temp = temp.next;
}
}
```
链表删除:
```java
public void remove(int key) {
if (head == null) {
return;
}
if (head.key == key) {
head = head.next;
return;
}
Node temp = head;
while (temp.next != null) {
if (temp.next.key == key) {
temp.next = temp.next.next;
return;
}
temp = temp.next;
}
}
```
链表遍历节点:
```java
public void traverse() {
Node temp = head;
while (temp != null) {
System.out.println(temp.value);
temp = temp.next;
}
}
```
根据key找到节点的value:
```java
public int get(int key) {
Node temp = head;
while (temp != null) {
if (temp.key == key) {
return temp.value;
}
temp = temp.next;
}
return -1;
}
```