ورود

View Full Version : لیست پیوندی



parisa.porseshgar
یک شنبه 28 بهمن 1397, 14:14 عصر
سلام خدمت دوستان،

با این سوال مواجه شدم:

یک تابع بازگشتی بنویسید که اشاره گر به ابتدای یک لیست یک پیوندی را بگیرد، علاوه بر برعکس کردن کلیه لینک ها یک کپی از هر گره را قبل از آن گره ایجاد کند و اشاره گر head باید به اولین گره لیست جدید که همان آخرین گره لیست قدیم است اشاره کند. مثال : اگر لیست به صورت
باشد پس از فراخوانی تابع
head=reverse(head);
لیست بدین شکل خواهد بود.


https://cdn1.imggmi.com/uploads/2019/2/17/a60cedc7a5af099a7fa6be818841ec04-full.jpg


Node reverse(p)
{
if(p.next.next!=null)
t=p.copy();
p.next=t'
head=p.next;
else
t=p.copy();
p.next=t;
head=reverse(p.next);
p.next.next=p;
p.next=0;
return head;
}
}





اشکال کار کجاست؟
آیا درست حل نکردم؟