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

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

افزودن به لیست بعد از گره‌ای خاص

0 امتیاز
357 نمایش

می‌خواهم بعد از گره‌ای خاص چیزی اضافه کنم، چطور این کار را انجام دهم؟

یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده سه شنبه ۱۴ آذر ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده شنبه ۲۴ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز

با استفاده از تابع زیر میتونین این کارو انجام بدین:

void insert( myrec info, unsigned long id )
{
    myrec *prior, *cur, *temp;
    cur = first;
    prior = NULL;
    while( cur != NULL && cur->id != id )
    {
        prior = cur;
        cur = cur->next;
    }
    if( cur == NULL )
    {
        return;
    }
    temp = new myrec;
    *temp = info;
    prior->next = temp;
    temp->next = cur;
}

در اینجا از سه اشاره‌گر استفاده کرده شده است: اشاره‌گر cur برای اشاره به گره جاری، اشاره‌گر prior برای اشاره به گره قبل از cur و بالاخره اشاره‌گر temp برای اشاره به گره جدید. این تابع گره با id تعیین شده را پیدا کرده و گره جدید را قبل از آن درج می‌کند. در واقع گرهی که temp به آن اشاره دارد بین گره‌های cur و prior قرار می‌گیرد.

پاسخ داده شده یکشنبه ۲۹ بهمن ۱۳۹۱ توسط CPP_Crawler4  
ویرایش شده یکشنبه ۲۹ بهمن ۱۳۹۱ توسط CPP_Crawler4
اضافه کردن بعد از یک گره خاص در لیست حلقوی