السلام عليكم ورحمة الله وبركاته
عندي سؤالين في هياكل البيانات (Data structure)
single linked list :
عند تطبيق عملية حذف اخر نود موجود في الليست فإننا نضع شرط بحيث تتوقف اللوب عندما تكون قيمة النيكست تساوي نل
ولكن يكون هناك مشكلة بحيث إن بعد الحذف يجب إسناد قيمة نل للنود الذي يسبق النود المحذوف ولكن في هذه الحالة
لا يمكن الرجوع للخلف ومعرفة عنوان الخانة السابقة
بالتالي سوف نحتاج إلى مؤشر اخر يتوقف عندما يصل إلى النود القبل الأخير ولكني لم أعرف كيف أكتبها بشكل كود
انا فاهمة الفكرة لكن لا أعرف كيف أطبقها
--------------------------------------------------------------------------
circle linked list :
عند تطبيق نفس العملية السابقة ( حذف اخر نود موجود في الليست ) نعرف مؤشر يبدا من الهيد إلى أن يصل إلى اخر نود (هل سأحتاج إلى مؤشر اخر يتوقف
عندما يصل إلى النود قبل الأخير؟؟؟)
المشكلة هنا هي انني احتاج الى شرط يوقف اللوب عندما يصل الى نهاية الليست ولكن عندما نصل الى نهاية الليست فإن قيمة النيكست لآخر نود لا تساوي نل
الفكرة هي انني أضع شرط بحيث عندما يصل المؤشر إلى أول نود (يعني ياخذ دورة كاملة ويعود مرة أخرى إلى أول نود ) فإنه يتوقف
أريد كتابة هذا الكلام بشكل كود بالسي بلس بلس
أرجو المساعدة في هذا السؤال لأنه يكاد يصيبني بالجنون
حاولت لكني لم أستطع إيجاد حل مقنع
وشكرا مقدما...
