محمد بوسكوري نشر 21 ديسمبر 2015 أرسل تقرير نشر 21 ديسمبر 2015 (معدل) لاحظت أن (List(of و (LinkedList(of متشابهتين إلى حد كبير، وأريد الاستفسار عن داعي وجوب استخدام كل منهما؟ متى أستخدم كل نوع من هذه المصفوفات؟ تم التعديل في 21 ديسمبر 2015 بواسطة محمد بوسكوري اقتباس
0 E.Nourddine نشر 22 ديسمبر 2015 أرسل تقرير نشر 22 ديسمبر 2015 لمعرفة الفرق بينهما، لاحظ الآتي:(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 في إدخال البيانات وكذا البحث عن عنصر ما داخل المصفوفة. اقتباس
السؤال
محمد بوسكوري
لاحظت أن (List(of و (LinkedList(of متشابهتين إلى حد كبير، وأريد الاستفسار عن داعي وجوب استخدام كل منهما؟ متى أستخدم كل نوع من هذه المصفوفات؟
تم التعديل في بواسطة محمد بوسكوري1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.