📜  打印所有对象链表 python - TypeScript (1)

📅  最后修改于: 2023-12-03 14:54:28.602000             🧑  作者: Mango

打印所有对象链表

简介

在编程过程中,我们经常需要处理复杂的数据结构,例如对象链表(linked list)。对象链表由一系列节点(node)组成,每个节点都包含一个值(value)和一个指向下一个节点的指针(next)。在Python和TypeScript中,我们可以使用不同的方式来创建和操作对象链表。

本文将介绍如何在Python和TypeScript中打印所有对象链表的值,以及一些常用的操作和技巧。

Python 实现
定义节点类

首先,我们可以定义一个 Node 类来表示链表节点。

class Node:
    def __init__(self, value):
        self.value = value
        self.next = None
创建链表并打印所有值

我们可以使用 Node 类来创建链表,并编写一个函数来打印链表中所有节点的值。

def print_linked_list(head):
    while head:
        print(head.value)
        head = head.next
示例
# 创建链表
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node1.next = node2
node2.next = node3

# 打印链表
print_linked_list(node1)

输出结果:

1
2
3
TypeScript 实现
定义节点类

在TypeScript中,我们也可以定义一个 Node 接口来表示链表节点。

interface Node<T> {
    value: T;
    next: Node<T> | null;
}
创建链表并打印所有值

我们可以使用 Node 接口来创建链表,并编写一个函数来打印链表中所有节点的值。

function printLinkedList<T>(head: Node<T> | null) {
    let current = head;
    while (current) {
        console.log(current.value);
        current = current.next;
    }
}
示例
// 创建链表
const node1: Node<number> = { value: 1, next: null };
const node2: Node<number> = { value: 2, next: null };
const node3: Node<number> = { value: 3, next: null };
node1.next = node2;
node2.next = node3;

// 打印链表
printLinkedList(node1);

输出结果:

1
2
3
总结

无论是在Python还是TypeScript中,打印所有对象链表的方式基本相同。通过定义节点类(或接口),创建链表并使用循环遍历所有节点,我们可以轻松地访问链表中的所有值。

希望本文对您在处理对象链表时有所帮助!