实现链表的创建,首插入,尾删除,以及在初始化的链表中查找输入的整数x是否在链表中存在。如果存在,输入T,否则输出F Java
时间: 2024-10-14 20:12:58 浏览: 13
在Java中,我们可以使用`LinkedList`类来实现链表的基本操作,包括创建、插入、删除和查找。下面是一个简单的例子:
```java
import java.util.LinkedList;
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
public class LinkedListOperations {
// 创建链表
public static LinkedList<Integer> createLinkedList() {
LinkedList<Integer> list = new LinkedList<>();
return list;
}
// 首插入
public static void insertAtHead(LinkedList<Integer> list, int x) {
ListNode newNode = new ListNode(x);
if (list.isEmpty()) {
list.addFirst(newNode); // 对空列表添加
} else {
newNode.next = list.first(); // 否则添加到头部
list.setFirst(newNode);
}
}
// 尾部删除
public static void deleteFromTail(LinkedList<Integer> list) {
if (!list.isEmpty()) {
list.removeLast();
}
}
// 查找元素是否存在
public static boolean search(LinkedList<Integer> list, int x) {
for (int i : list) {
if (i == x) {
return true; // 如果找到返回true
}
}
return false; // 没有找到返回false
}
public static void main(String[] args) {
LinkedList<Integer> list = createLinkedList();
insertAtHead(list, 5);
insertAtHead(list, 3);
insertAtHead(list, 7);
System.out.println(search(list, 5)); // 输出:true
System.out.println(search(list, 9)); // 输出:false
deleteFromTail(list);
// 打印最终链表,注意9已不在其中
for (int num : list) {
System.out.print(num + " ");
}
}
}
```
这个程序首先创建了一个空的`LinkedList`,然后插入了三个元素,接着检查指定值的存在并从尾部删除一个元素。最后打印链表的内容以验证结果。
阅读全文