جدول المحتويات:
فيديو: كيف يمكنني فرز قائمة مرتبطة منفردة؟
2024 مؤلف: Lynn Donovan | [email protected]. آخر تعديل: 2023-12-15 23:43
يوجد أدناه إدخال بسيط نوع خوارزمية قائمة مرتبطة . 1) قم بإنشاء ملف مرتبة (أو نتيجة) قائمة 2) اجتياز المعطى قائمة ، اتبع كل عقدة. أ) أدخل العقدة الحالية في مرتبة الطريق للداخل مرتبة أو نتيجة قائمة . 3) تغيير رأس معين قائمة مرتبطة لرئاسة مرتبة (أو نتيجة) قائمة.
فيما يتعلق بهذا ، هل يمكنك فرز قائمة مرتبطة؟
دمج نوع غالبًا ما يُفضل فرز قائمة مرتبطة . أداء الوصول العشوائي البطيء لـ a قائمة مرتبطة يجعل بعض الخوارزميات الأخرى (مثل الفرز السريع) ضعيفة الأداء ، والبعض الآخر (مثل heapsort) مستحيل تمامًا. دع الرأس يكون العقدة الأولى من قائمة مرتبطة ليتم فرزها ويكون الرأس هو المؤشر إلى الرأس.
ثانيًا ، كيف تقوم بفرز قائمة مرتبطة باستخدام فرز الفقاعة؟ لإجراء فرز الفقاعات ، نتبع الخطوات التالية:
- الخطوة 1: تحقق مما إذا كانت البيانات الموجودة على العقدتين المتجاورتين بترتيب تصاعدي أم لا. إذا لم يكن الأمر كذلك ، فقم بتبديل بيانات العقدتين المتجاورتين.
- الخطوة 2: في نهاية التمرير 1 ، سيكون أكبر عنصر في نهاية القائمة.
- الخطوة 3: ننهي الحلقة ، عندما تبدأ جميع العناصر.
فقط هكذا ، كيف تقوم بفرز البيانات في قائمة مرتبطة؟
الخوارزمية
- قم بإنشاء عقدة فئة لها سمتان: البيانات والتالية.
- قم بإنشاء SortList فئة أخرى لها سمتان: الرأس والذيل.
- ستضيف addNode () عقدة جديدة إلى القائمة:
- سوف يقوم sortList () بفرز عقد القائمة بترتيب تصاعدي.
- تعرض () العقد الموجودة في القائمة:
كيف يمكنني فرز قائمة مرتبطة أبجديًا؟
فرز سلسلة لينكدليست في جافا أمر سهل. تستطيع نوع السلسلة لينكدليست في تصاعدي ترتيب ابجدي باستخدام نوع ( قائمة القائمة ). يمكنك أيضا نوع السلسلة لينكدليست في تنازلي ترتيب ابجدي باستخدام نوع ( قائمة القائمة ، المقارنة ج).
موصى به:
كيف يمكنني فرز قائمة مرتبطة أبجديًا؟
يعد فرز سلسلة LinkedList في Java أمرًا سهلاً. يمكنك فرز السلسلة LinkedList بترتيب أبجدي تصاعدي باستخدام الفرز (قائمة القائمة). يمكنك أيضًا فرز السلسلة LinkedList بترتيب أبجدي تنازلي باستخدام الفرز (قائمة القائمة ، المقارنة ج)
كيف يمكنك إنشاء تصنيف فقاعي في قائمة مرتبطة في C ++؟
لإجراء فرز الفقاعة ، نتبع الخطوات التالية: الخطوة 1: تحقق مما إذا كانت البيانات الموجودة على العقدتين المتجاورتين بترتيب تصاعدي أم لا. إذا لم يكن الأمر كذلك ، فقم بتبديل بيانات العقدتين المتجاورتين. الخطوة 2: في نهاية التمرير 1 ، سيكون أكبر عنصر في نهاية القائمة. الخطوة 3: ننهي الحلقة ، عندما تبدأ جميع العناصر
كيف تحذف قائمة دائرية مرتبطة؟
الحذف من قائمة دائرية مرتبطة إذا لم تكن القائمة فارغة ، فإننا نحدد مؤشرين الحاليين والسابق ونقوم بتهيئة تيار المؤشر مع عقدة الرأس. اجتياز القائمة باستخدام تيار للعثور على العقدة المراد حذفها وقبل نقل التيار إلى العقدة التالية ، كل مرة يتم ضبطها prev = cur. إذا تم العثور على العقدة ، فتحقق مما إذا كانت العقدة الوحيدة في القائمة
كيف تضيف عقدة إلى قائمة مرتبطة؟
قم بإدراج عقدة في موضع محدد في قائمة مرتبطة اجتياز القائمة المرتبطة حتى عقد الموضع 1. بمجرد اجتياز جميع عقد الموضع 1 ، قم بتخصيص الذاكرة والبيانات المعطاة للعقدة الجديدة. ضع المؤشر التالي للعقدة الجديدة على العقدة التالية. قم بتوجيه المؤشر التالي للعقدة الحالية إلى العقدة الجديدة
هل يمكنك البحث الثنائي في قائمة مرتبطة؟
نعم ، يمكن البحث الثنائي في القائمة المرتبطة إذا تم ترتيب القائمة وكنت تعرف عدد العناصر الموجودة في القائمة. ولكن أثناء فرز القائمة ، يمكنك الوصول إلى عنصر واحد في كل مرة من خلال مؤشر إلى تلك العقدة ، أي إما عقدة سابقة أو عقدة تالية