首页 > 解决方案 > 在链表中创建一个测试器类以显示偶数

问题描述

这是我的节点类和 Mylist 类

class Node:
    def __init__(self, data=None, next=None):
        self.data = data
        self.next = next


class MyList():
    def __init__(self,head=None):
        self.head = head

    def showList(self):
        temp = self.head
        while (temp):
            print(temp.data)
            temp = temp.next
        if self.head is None:
            print("Empty List")

这是我的偶数函数

def showeven(even):
    head = None

    while even:
        if even.data % 2 == 0:
            new_Node = Node(even.data, None)

            if head is None:
                tail = new_Node
                head = new_Node
            else:
                tail.next = new_Node
                tail = new_Node

    MyList(head).showList()

你们能帮我为此创建一个测试器类或其他东西吗

标签: pythondata-structures

解决方案


你可以简单地写这样的东西。

def print_even_nodes(self):                                                                                                                                                                                                                                                                                                                                                  
     traverse = self.head                                                                                                                                                            
     while (traverse != None):                                                                                                                                                               
        if (traverse.data % 2 == 0):                                                                                                                                                      
            print(traverse.data)                                                                                                                                                               
        traverse = traverse.next   

这与打印整个单链表非常相似,唯一的关键区别是我们检查该特定节点(node.data字段)是否可被 2 整除。如果是,我们打印出元素,否则我们转到下一个节点。


推荐阅读