اذهب إلى المحتوى
  • 0

متى يتوجب علي استعمال (List(of أو (LinkedList(of على بيئة net.؟

محمد بوسكوري

السؤال

لاحظت أن (List(of  و (LinkedList(of متشابهتين إلى حد كبير، وأريد الاستفسار عن داعي وجوب استخدام كل منهما؟ متى أستخدم كل نوع من هذه المصفوفات؟

تم التعديل في بواسطة محمد بوسكوري
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

لمعرفة الفرق بينهما، لاحظ الآتي:

(Linked list (3.9 seconds:

  LinkedList<Temp> list = new LinkedList<Temp>();

        for (var i = 0; i < 12345678; i++)
        {
            var a = new Temp(i, i, i, i);
            list.AddLast(a);
        }

        decimal sum = 0;
        foreach (var item in list)
            sum += item.A;
  • (List (2.4 seconds:

 List<Temp> list = new List<Temp>(); // 2.4 seconds

        for (var i = 0; i < 12345678; i++)
        {
            var a = new Temp(i, i, i, i);
            list.Add(a);
        }

        decimal sum = 0;
        foreach (var item in list)
            sum += item.A;

ثم:

(Linked List (51 seconds: 

   LinkedList<Temp> list = new LinkedList<Temp>();

        for (var i = 0; i < 123456; i++)
        {
            var a = new Temp(i, i, i, i);

            list.AddLast(a);
            var curNode = list.First;

            for (var k = 0; k < i/2; k++) // ندمح عنصر داخل المصفوفوة حتى يسهل البحث عنه
                curNode = curNode.Next;

            list.AddAfter(curNode, a); 
        }

        decimal sum = 0;
        foreach (var item in list)
            sum += item.A;

  (List (7.26 seconds:

     List<Temp> list = new List<Temp>();

        for (var i = 0; i < 123456; i++)
        {
            var a = new Temp(i, i, i, i);

            list.Insert(i / 2, a);
        }

        decimal sum = 0;
        foreach (var item in list)
            sum += item.A;

نلاحظ من خلال الكود السابق، والذي يبرز الفرق الواضح بين كل من  List و LinkedList، أن الأولى أسرع من حيث تنفيذ الكود، حيث عمدت المقارنة على استعمال نفس الكود على كلتا المصفوفتين مع حساب المدة الزمنية لإنجاز ذلك، فتبين أن List أسرع من linkedlist في إدخال البيانات وكذا البحث عن عنصر ما داخل المصفوفة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...