اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطوری به صورت بازگشتی یک عنصر رو به لیست پیوندی اضافه کنم؟

+1 امتیاز
282 نمایش

چطوری میشه به یک لیست مرتب شده که به کمک لیست پیوندی پیاده‌سازی شده، یک عنصر رو با استفاده از تابع بازگشتی اضافه کنم؟

شما جهان خود را می‌سازید، همان‌گونه که در آن پیش می‌روید.(وینستون چرچیل)
پرسیده شده سه شنبه ۱۴ خرداد ۱۳۹۲ در C++ توسط A.Firouzi  

1 پاسخ

0 امتیاز

فرض کنیم list اشاره‌گری به ابتدای لیست پیوندی باشه. در این صورت تابع مورد نظر به شکل زیر نوشته میشه

void InsertItem(ItemType item,Node *&list)
{
   if(list && item>list->data)
       InsertItem(item,list->next);
   else
   {    
      Node *newnode = new Node;
      newnode->data = item;
      newnode->next = list;
      list = newnode;
   }
}

نکته مهم در مورد این تابع اینه که این تابع، یک تابع عضو کلاس نیست. یعنی اگه لیست مرتب‌شده رو به صورت کلاس پیاده‌سازی کردید، باید تابعی برای افزودن عنصر درونش داشته باشه که داخل تابع عضو، همین تابع فراخوانی بشه.

شما جهان خود را می‌سازید، همان‌گونه که در آن پیش می‌روید.(وینستون چرچیل)
پاسخ داده شده جمعه ۲۴ خرداد ۱۳۹۲ توسط A.Firouzi