java实现链表的创建,首插入,尾删除,以及在初始化的链表中查找输入的整数X是否在链表中存在。如果存在,输出:T,否则输出F。
时间: 2024-10-13 17:12:19 浏览: 49
在Java中,我们可以使用`LinkedList`类来创建、操作链表。以下是基本的步骤:
1. **创建链表**:
首先,我们需要导入`java.util.LinkedList`库,并实例化一个链表对象。
```java
import java.util.LinkedList;
LinkedList<Integer> list = new LinkedList<>();
```
2. **首部插入**:
可以使用`addFirst()`方法在链表头部添加元素。
```java
int x = 5; // 输入的整数
list.addFirst(x);
```
3. **尾部插入**:
使用`addLast()`方法在链表尾部添加元素。
```java
int y = 10;
list.addLast(y);
```
4. **查找元素并判断是否存在**:
利用`contains()`方法检查链表中是否有指定的整数。
```java
boolean exists = list.contains(x); // 查找整数x
```
5. **输出结果**:
根据`exists`值输出"T"或"F"。
```java
if (exists) {
System.out.println("T");
} else {
System.out.println("F");
}
```
相关问题
Java实现链表的创建,首插入,尾删除,以及在初始化的链表中查找输入的整数X是否在链表中存在。如果存在,输出:T,否则输出F。
在Java中,我们可以使用`LinkedList`或自定义链表节点类来实现链表的基本操作。这里我将展示如何使用自定义节点和链表结构来完成这些任务。
首先,定义一个`ListNode`类作为链表节点:
```java
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
```
然后,我们可以创建一个`LinkedList`类,实现链表的操作:
```java
class LinkedList {
private ListNode head;
// 链表构造函数
LinkedList() {
head = null;
}
// 在链表头部插入元素
public void insertAtStart(int x) {
ListNode newNode = new ListNode(x);
newNode.next = head;
head = newNode;
}
// 在链表尾部插入元素
public void insertAtEnd(int x) {
if (head == null) {
head = new ListNode(x);
} else {
ListNode temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = new ListNode(x);
}
}
// 删除链表尾部的元素
public void deleteLast() {
if (head == null || head.next == null) {
head = null;
return;
}
ListNode temp = head;
while (temp.next.next != null) {
temp = temp.next;
}
temp.next = null;
}
// 查找元素x是否存在
public boolean contains(int x) {
ListNode current = head;
while (current != null) {
if (current.val == x) {
return true;
}
current = current.next;
}
return false;
}
}
// 使用示例
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.insertAtStart(1); // 插入1
list.insertAtStart(2); // 插入2
list.insertAtEnd(3); // 插入3
System.out.println(list.contains(2)); // 输出:true
list.deleteLast(); // 删除3
System.out.println(list.contains(3)); // 输出:false
}
```
实现链表的创建,首插入,尾删除,以及在初始化的链表中查找输入的整数x是否在链表中存在。如果存在,输入T,否则输出F Java
在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`,然后插入了三个元素,接着检查指定值的存在并从尾部删除一个元素。最后打印链表的内容以验证结果。
阅读全文