การแทรก node ที่ตำแหน่งต้นของ linked list
ในแบบฝึกหัดก่อนหน้า คุณได้เรียนรู้วิธีสร้างคลาส Node() และ LinkedList() แล้ว
ในแบบฝึกหัดนี้ จะเตรียมโค้ดสำหรับเมธอด insert_at_beginning() เพื่อเพิ่ม node ใหม่ที่ตำแหน่งต้นของ linked list
ทบทวนคลาส Node() อีกครั้ง:
class Node:
def __init__(self, data):
self.data = data
self.next = None
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
โครงสร้างข้อมูลและอัลกอริทึมใน Python
คำแนะนำการฝึกหัด
- สร้าง node ใหม่
- ตรวจสอบว่า linked list มี node
headหรือไม่ - ถ้า linked list มี node
headให้ชี้ nodenextของ node ใหม่ไปยังhead
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def insert_at_beginning(self, data):
# Create the new node
new_node = ____(data)
# Check whether the linked list has a head node
if self.____:
# Point the next node of the new node to the head
new_node.___ = self.____
self.head = new_node
else:
self.tail = new_node
self.head = new_node