اضافة دالة حذف لمثال 3

Loading video…

اضافة دالة حذف لمثال 3

El Cato Instructor: El Cato

Description

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

class LinkedList:
    def __init__(self):
        self.head = None  # First node
        self.tail = None  # Last node
        self.count = 0    # Keep track of size

    def is_empty(self):
        return self.head is None

    def insert_at_end(self, data):
        new_node = Node(data)
        if self.head is None:  # If list is empty
            self.head = new_node
            self.tail = new_node  # tail = head (same node)
        else:
            self.tail.next = new_node  # Link last node to new node
            self.tail = new_node       # Update tail
        self.count += 1

    def insert_at_beginning(self, data):
        new_node = Node(data)
        new_node.next = self.head
        self.head = new_node
        if self.tail is None:  # If list was empty
            self.tail = new_node
        self.count += 1

    def display(self):
        elements = []
        current = self.head
        while current:
            elements.append(current.data)
            current = current.next
        return elements

    def size(self):
        return self.count

Comments

Log in to join the discussion. Log in