سؤال

وأنا هندسة البرمجيات مستوى الطالب العلوي حاليا في هياكل البيانات والخوارزميات الطبقة. أستاذنا يريد لنا لكتابة البرنامج باستخدام بنية قائمة وجدت في STL C ++. لقد سعيت لاستخدام C # أكثر وأكثر، وأتساءل عما اذا كان هيكل ArrayList في. NET هو بديل جيد لتنفيذ قائمة STL.

هل كانت مفيدة؟

المحلول

وإلا إذا كنت عالقة مع .NET Framework 1.1، استخدم List<T> بدلا من ArrayList. ولكن ماذا أنت قلق في الأساس حول؟ لنفترض أنك لم يكن لديك قائمة للإشارة إلى - ماذا كنت في حاجة إلى بنية بيانات المناسب للقيام

نصائح أخرى

ويجب أن تكون قادرا على الإجابة على هذا السؤال بنفسك. ما هي استراتيجية تنفيذ المستخدمة في القوائم STL؟ ما هي واحدة من ArrayList؟ وبالمثل، ما هو API مجردة قدمها قائمة STL (من حيث العمليات المقدمة)؟ قارن هذا إلى قائمة STL: ماذا واحد ينص على أن الآخر لا

وإذا كانت قائمة STL تستخدم قوالب، قد ترغب في النظر في الطبقة قائمة العامة في System.Collections.Generic.

وأم، لم يكن لديك C ++ STL بنية تسمى "قائمة". أعتقد أن هناك "قائمة"، والتي هي قائمة مرتبطة. C # الصورة قائمة، في المقابل، هو analagous إلى C ++ "ناقلات الصورة.

وتم إهمال بعض الشيء الفئة ArrayList. هو من الأوقات .NET Framework 1.0 عندما الوراثة لم تكن موجودة حتى الآن.

ويجب عليك استخدام System.Collections.Generic.List بدلا من ذلك. مثل هذا:

List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);
System.Console.WriteLine(myList[0]);

ونعم، كلاهما بدائل جيدة. يجب عليك استخدام قائمة عامة على الرغم من أنه هو نوع وآمن ويحتمل أن تكون أسرع.

وشكرا للجميع

وquertie، أنا أخطأت وقائمة يعني بدلا من قائمة ...

والواجب هو استخدام الأمراض المنقولة جنسيا :: قائمة لإضافة متعددو الحدود باستخدام قائمة من البنيات بسيطة، والبنية من شأنه أن يعقد معامل وقوة س ... السهل بما فيه الكفاية، وأنا أعلم، ولكن لأن الطبقة هو المفترض لغة مستقلة من، أردت أن محاولة استخدام ج #

وأقرب C # التناظرية من الأمراض المنقولة جنسيا :: القائمة هو System.Collections.List. كلاهما مجموعات عامة، وتنفيذ الإجراءات قائمة من نوع القياسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top