نمایش نتایج 1 تا 5 از 5

نام تاپیک: linked list با استفاده از کلاسها یا رکوردها

  1. #1

    linked list با استفاده از کلاسها یا رکوردها

    سلام دوستان.من قبلا با استفاده از رکوردها از لیست دو پیوندی استفاده کردم و مشکلی باهاش نداشتم. ظاهرا از طریق استفاده از کلاسها هم میشه یک لیست پیوندی ایجاد کرد. میخواستم ببینم ایا نسبت به روش اول مزیت خاصی داره؟ و طریقه پیاده سازی آن به چه صورت است.

  2. #2

    نقل قول: linked list با استفاده از کلاسها یا رکوردها

    ظاهرا از طریق استفاده از کلاسها هم میشه یک لیست پیوندی ایجاد کرد.
    بستگی داره که منظورتون چی باشه؛ یک حالت اینه که کلاسی طراحی کنیم که در داخل خودش یک لیست پیوندی داشته باشه، یک رابط شی گرا به برنامه نویس ارائه کنه تا بدون توجه به این که چه Data Structure ایی برای ذخیره داده ها استفاده میشه، بتونه از این کلاس استفاده کنه.
    یک حالت دیگه اینه که شما بخواید برای تعریف Nodeهای موجود در یک لیست پیوندی، از کلاس بجای رکورد استفاده کنید. در این حالت کلاس مزیتی نسبت به رکورد نداره، چون سربار بیشتری نسبت به رکورد داره. تنها استثناء این هست که بخواید برای هر Node موجود در لیست، یک سری متد هم داشته باشید. اون وقت در نسخه های قبل از دلفی 2007 استفاده از کلاس، علی رقم سرباری که ایجاد میکنه، توجیه پذیر میشه، اما در دلفی 2007 و نسخه های بعد از آن، رکوردها هم می توانند متد داشته باشند، پس این یک مزیت کلاس نسبت به رکورد هم از بین میره، و توجیهی برای استفاده از کلاس به این شکل وجود نداره.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3

    نقل قول: linked list با استفاده از کلاسها یا رکوردها

    ممنون.من در اصل میخوام یک کلاس کلی تعریف کنم و در داخل اون حرکت بین نودها، حذف نودها ، درج بین نودها و اضافه کردن نود جدید رو در اون پیاده سازی کنم. و برای قسمتهای مختلف برنامه یک کلاس از اون مشتق کنم و مواردی که مربوط به اون قسمت هست رو داخلش بنویسم. گفتم شاید بشه یک متغیر از نوع رکورد ایجاد کنم در کلاس اصلی که به صورت دینامیک باشه و در کلاسهای دیگه رکوردهای دیگه ایجاد کنم و به اون پاس بدم که نشد.(حالا یا من نتونستم یا نمیشه).

  4. #4

    نقل قول: linked list با استفاده از کلاسها یا رکوردها

    من در اصل میخوام یک کلاس کلی تعریف کنم و در داخل اون حرکت بین نودها، حذف نودها ، درج بین نودها و اضافه کردن نود جدید رو در اون پیاده سازی کنم.
    می تونید پیاده سازی کلاس TList و مشتقاتش را مطالعه کنید. نحوه کار TList به این صورت هست که یک آرایه میسازه، و هر عنصر آرایه یک اشاره گر هست. این اشاره گر میتونه به هر ساختار داده ایی اشاره کنه. هر وقت نیاز باشه که به عناصر آرایه چیزی اضافه بشه، TList چند خانه خالی بصورت Chunk به آرایه اضافه میکنه. خوبی این روش در این هست که مزایای آرایه ها و لیست های پیوندی را با هم دارد.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  5. #5

    نقل قول: linked list با استفاده از کلاسها یا رکوردها

    سلام.من یک کلاس نوشتم و از Tobject اونو مشتق کردم. و کلاسهایی که از اون مشتق کردم میام پارامتری که بهش پاس میدم از نوع رکورد هست و مشکل حل شد. با تشکر.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •