هالمرة سؤال برمجي :) وله علاقة بال Linked List ..
ماهي أسرع طريقة من أجل معرفة إذا كانت اللائحة المترابطة Linked List عبارة عن لائحة حلقية Circular Linked List أو أنها عبارة عن لائحة خطية Linear Linked List ,
يفضل أيضا أن تكتب كود للتابع :
bool IsCircularLinkedList(NODE *head);
حيث head يعتبر مؤشر لأول اللائحة و NODE تحتوي على مؤشر للعقدة التالية next ...
تعريف Circular Linked List: هو أي لائحة بحيث أن المؤشر next لآخر عقدة يشير إلى عقدة في نفس اللائحة
تعريف Linear Linked List: هو أي لائحة بحيث أن المؤشر next لأخر عقدة يشير إلى null
بعض الأمثلة على circular linked list الموضحة في السؤال:
1->2->3->4->5----->3 (العقدة 5 تشير إلى 3 وليس 1)
1->2->3->4->5----->5 (العقدة 5 تشير إلى 5 )
1->2->3->4->5----->1 (العقدة 5 تشير إلى 1 )
B)
