(1)输入链表的长度和各元素的值,用尾插法建立双向循环链表,并输出链表中各元素值,观察输入的内容与输出的内容是否一致。用Java
时间: 2024-05-13 21:13:45 浏览: 53
欢迎询问!关于您的问题,这是一道很好的算法题!
以下是 Java 代码实现:
```java
import java.util.Scanner;
public class DoubleLinkedList {
static class ListNode{
int val;
ListNode prev;
ListNode next;
ListNode(int x){
val = x;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入链表长度:");
int n = sc.nextInt();
ListNode head = new ListNode(0);
ListNode tail = head;
for(int i = 0;i < n;i++){
int val = sc.nextInt();
ListNode node = new ListNode(val);
tail.next = node;
node.prev = tail;
tail = node;
}
tail.next = head.next;
head.next.prev = tail;
System.out.println("输出链表:");
ListNode temp = head.next;
while(temp != tail){
System.out.print(temp.val+" ");
temp = temp.next;
}
System.out.println(tail.val);
}
}
```
请注意,在输入元素值时,需要先输入链表的长度,程序会自动读取之后的元素值,并将其存储到双向循环链表中。在输入完成后,程序会输出链表中各元素的值。
希望这个答案能够帮助您!
阅读全文