کلاس Linke dlist چیست

0

کلاس Linke dlist چیست

چند مشکل ظریف در روشی که براي پیادهسازي لیستها داشتیم، وجود دارد. در نقض علـت و معلول، ما در ابتدا یک روش پیادهسازي جایگزین را پیشنهاد میکنیم و سپس توضیح میدهیم که این روش چه مشکلاتی را حل میکند. نخست یک کلاس جدید بهنام LinkedList میسازیم. مشخصه هاي این کـلاس یـک عـدد صحیح که شامل طول لیست است و یک آدرس به گره اول میباشد. اشـیاء LinkedList بـهعنـوان ابزارهایی براي دستکاري لیستهایی از اشیاء Node بهکار میروند:

class LinkedList:
def __init__(self):
self.length = 0
self.head = None

یک نکتۀ جالب دربارة کلاس LinkedList این است که این کلاس یک محل طبیعی بـراي قرار دادن توابع بستهسازي نظیر printBackwardNicely فراهم میکند که ما میتوانیم متـدي از کلاس LinkedList بسازیم:

class LinkedList:

def printBackward(self):
print “[“,
if self.head != None:
self.head.printBackward()
print “]”,
class Node:

def printBackward(self):
if self.next != None:
tail = self.next
tail.printBackward()
print self.cargo,

تنها براي پیچیدهتر کردن ماجرا، ما printBackwardNicely را تغییر نام دادیم. حال دو متد بهنام printBackward وجود دارد؛ یکی در کلاس Node) کمـک کننـده) و یکـی در کـلاس LinkedList) بسته ساز). وقتی بستهساز، printBackward.head.self ، را احضار میکند، کمککننده را احضار کرده است، زیرا head.self یک شیء Node است.

مزیت دیگر کلاس LinkedList آن است که جمـع و حـذف کـردن اولـین عضـو لیسـت را آسانتر میسازد. براي مثال addFirst متدي براي LinkedListها است. این متد یک عضـو بـار را میگیرد و در آغاز لیست قرار میدهد:

class LinkedList:

def addFirst(self, cargo):
node = Node(cargo)
node.next = self.head
self.head = node
self.length = self.length + 1

به طور معمول، شما باید چنین کدي را بررسی کنید تا ببینید آیا میتواند در حالـتهـاي ویـژه هم کار کند. براي نمونه ، اگر لیست در آغاز تهی باشد چه اتفاقی میافتد؟

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1135 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات