建立一个双向链表,把’a'-z’26个字母正序插入到链表中,并且倒序打印。
时间: 2024-10-28 19:15:57 浏览: 9
建立一个双向链表并将其填充从'a'到'z'的字母,可以按照以下步骤进行:
1. 首先,创建一个Node类,用于表示链表中的节点,包含字符数据以及指向前一个节点和后一个节点的引用。
```java
class Node {
char data;
Node prev;
Node next;
public Node(char data) {
this.data = data;
this.prev = null;
this.next = null;
}
}
```
2. 创建一个LinkedList类,包含头节点head和尾节点tail,以及添加节点的方法。
```java
public class DoublyLinkedList {
private Node head;
private Node tail;
// 添加节点的方法
public void addNode(Node newNode) {
if (head == null) {
head = newNode;
tail = newNode;
} else {
newNode.next = tail;
tail.prev = newNode;
tail = newNode;
}
}
// 倒序遍历并打印链表
public void printReversed() {
Node current = tail;
while (current != null) {
System.out.print(current.data);
current = current.prev;
}
System.out.println();
}
}
```
3. 然后,在主函数中初始化链表,按顺序添加字母并打印结果。
```java
public static void main(String[] args) {
DoublyLinkedList list = new DoublyLinkedList();
for (char c = 'a'; c <= 'z'; c++) {
list.addNode(new Node(c));
}
list.printReversed(); // 输出从z到a的字母
}
```
当运行这个程序,你会看到从'z'到'a'的字母以倒序的形式打印出来。
阅读全文