يعد إنشاء قائمة إحدى المهام الأساسية عند تطوير البرامج بلغة البرمجة ج#. القائمة عبارة عن مجموعة مرتبة من الكائنات من نفس النوع. يمكنك استخدام القوائم لتخزين البيانات ومعالجتها ، وكذلك لتنفيذ العديد من الخوارزميات وهياكل البيانات.
يمكنك إنشاء قائمة في ج # باستخدام فئة القائمة. أولا ، تحتاج إلى إعلان متغير من قائمة النوع ، مع تحديد نوع عناصر القائمة بين قوسين زاوية. على سبيل المثال ، يتم استخدام التعليمات البرمجية التالية لإنشاء قائمة من الأعداد الصحيحة:
قائمة أرقام = قائمة جديدة ();
بعد إنشاء القائمة ، يمكنك إضافة عناصر إليها باستخدام طريقة الإضافة. على سبيل المثال ، يضيف التعليمة البرمجية التالية عنصرين إلى القائمة:
أرقام.إضافة(1);
أرقام.إضافة(2);
إرجاع العنصر الأول من القائمة (1).
- نظرة عامة على القائمة في ج#
- إنشاء قائمة في ج#
- قوائم مرتبة
- قوائم غير مرتبة
- قوائم متداخلة
- نمط قائمة مخصصة
- خاتمة
- إضافة عناصر إلى قائمة في ج#
- الحصول على العناصر من قائمة في ج#
- الحصول على عنصر حسب الفهرس
- الحصول على العنصر الأول أو الأخير
- الحصول على جميع عناصر القائمة
- الحصول على مجموعة فرعية من العناصر
- تغيير العناصر في القائمة في ج#
- إزالة العناصر من القائمة في ج#
- البحث عن العناصر في القائمة في ج#
- 1. البحث عن عنصر حسب القيمة
- 2. البحث عن عنصر حسب الشرط
- 3. البحث عن جميع العناصر حسب الشرط
- 4. ابحث عن فهرس العنصر
- 5. ابحث عن العنصر الأخير
- 6. ابحث عن جميع فهارس العنصر
- مثال على استخدام قائمة في ج # البرمجة
- سؤال وجواب
- كيف يمكنني إنشاء قائمة في ج#?
- هل من الممكن إضافة عنصر إلى القائمة بعد إنشائه?
- كيف يمكنني إزالة عنصر من قائمة في ج#?
- كيف يمكنني الحصول على عدد من العناصر في القائمة?
- كيف يمكنني التحقق مما إذا كانت القائمة تحتوي على عنصر معين?
- كيف يمكنني مسح القائمة في ج#?
نظرة عامة على القائمة الواردة في جيم#
في ج# البرمجة ، القوائم هي مجموعة من العناصر لنوع معين من البيانات التي يتم تخزينها بالتسلسل وبطريقة منظمة. تسهل القوائم إضافة العناصر وإزالتها وتغييرها.
توفر لغة سي # أنواعا مختلفة من القوائم: القوائم العادية والقوائم المرتبطة والمداخن وقوائم الانتظار. كل نوع من هذه الأنواع له خصائصه الخاصة وهو مصمم لمهام محددة.
القوائم العادية (القائمة)هي أكثر أنواع القوائم شيوعا في ج#. أنها توفر إضافة سريعة والوصول إلى العناصر حسب الفهرس. تغير القوائم العادية حجمها ديناميكيا عند إضافة العناصر وإزالتها.
القوائم المرتبطة (لينكدليست) هي مجموعة من العناصر ، كل منها يحتوي على رابط إلى العنصر السابق والتالي. تعمل القوائم المرتبطة بشكل فعال مع العمليات لإدراج العناصر وحذفها في منتصف القائمة ، ولكنها غالبا ما تتطلب ذاكرة أكبر مقارنة بالقوائم العادية.
الأكوام عبارة عن مجموعات من العناصر التي تعمل على مبدأ "الأخير في البداية" (ليفو). سيكون العنصر المضاف أخيرا هو أول عنصر يتم إزالته من المكدس. يتم تنفيذ عمليات الإضافة والإزالة فقط في أحد طرفي المكدس ، يسمى "الجزء العلوي" من المكدس.
قوائم الانتظار هي مجموعات من العناصر التي تعمل على مبدأ الأول في الأول (فيفو). تتم إضافة العناصر إلى نهاية قائمة الانتظار وحذفها من بداية قائمة الانتظار. يتم تنفيذ عمليات الإضافة في أحد طرفي قائمة الانتظار ، وتسمى "ذيل" قائمة الانتظار ، ويتم تنفيذ عمليات الحذف في الطرف الآخر ، وتسمى "رأس" قائمة الانتظار.
للعمل مع القوائم في ج# ، يتم استخدام طرق وخصائص مختلفة تسمح لك بإجراء عمليات لإضافة العناصر وحذفها وتعديلها ، وكذلك البحث عن العناصر وفرزها. كل نوع من القائمة له طرقه وخصائصه الخاصة.
من المهم اختيار نوع القائمة المناسب اعتمادا على المهمة المحددة. القوائم العادية مناسبة تماما لعمليات الوصول السريع إلى الفهرس. تفضل القوائم المرتبطة إذا كنت بحاجة إلى إدراج العناصر وحذفها بشكل متكرر. تعتبر المداخن وقوائم الانتظار مفيدة في المواقف التي يكون فيها تسلسل العمليات لإضافة العناصر وإزالتها مهما.
في ج # تطوير البرنامج ، يعد استخدام القوائم ممارسة شائعة ، وفهم الاختلافات بين أنواع القوائم مهارة مهمة لكل مبرمج.
إنشاء قائمة في ج#
ج # يقدم عدة طرق لإنشاء قوائم يمكن أن تحتوي على مجموعة من العناصر. في هذه المقالة ، سنلقي نظرة على نوعين رئيسيين من القوائم: القوائم المرتبة (القوائم المرقمة) والقوائم غير المرتبة (القوائم بدون ترقيم).
قوائم مرتبة
.
- الركن 3
سيقوم هذا الرمز بإنشاء القائمة التالية:
قوائم غير مرتبة
- الركن 1
- الركن 2
الركن 3
الركن 2
العنصر المتداخل 2
الركن 3
- سيقوم هذا الرمز بإنشاء القائمة التالية:
العنصر المتداخل 1
يمكن تخصيص نمط القائمة باستخدام كس. يمكنك استخدام الأنماط الخاصة بك أو الأنماط المضمنة.
- بالنسبة لنمط القائمة المرقمة المدمج (القائمة المرتبة) ، يمكنك استخدام خاصية كس
- قائمة على غرار نوع
- . مثال:
الركن 1
الركن 2
الركن 3
الركن 2
قائمة على غرار نوع
. مثال:
الركن 1
الركن 2
الركن 3
سيقوم هذا الرمز بإنشاء القائمة التالية باستخدام علامات مستديرة:
الركن 1
الركن 2
الركن 3
خاتمة
إنشاء قوائم في ج # هو وسيلة بسيطة وفعالة لتنظيم وتقديم المعلومات. تتناول هذه المقالة الطرق الرئيسية لإنشاء قوائم مرتبة وغير مرتبة ، وكذلك تخصيص مظهرها باستخدام كس. استخدام القوائم لجعل التعليمات البرمجية أكثر تنظيما وقابلة للقراءة!
إضافة عناصر إلى قائمة في ج#
يمكن إنشاء قائمة في ج # باستخدام الفصل
قائمة
، والتي توفر أساليب وخصائص ملائمة للعمل مع قوائم العناصر.
لإضافة عناصر إلى القائمة ، يمكنك استخدام
طريقة الإضافة
. فيما يلي نموذج رمز يوضح كيفية إضافة عناصر إلى قائمة:
استخدام النظام;
باستخدام النظام.مجموعات.عام;
برنامج الفصل
أرقام.إضافة (3);
. ثم يتم إضافة أربعة عناصر إلى القائمة باستخدام
طريقة الإضافة
. في الحلقة
فوريش
يعرض القائمة على الشاشة.
باستثناء الطريقة
إضافة
, صف دراسي
قائمة
كما يوفر طرقا أخرى لإضافة عناصر ، مثل
أدرانج
و
يدرج
.
أدرانج
يسمح لك بإضافة عناصر متعددة ، و
يدرج
يسمح لك بإدراج عنصر في موضع معين.
يمكنك أيضا استخدام المفهرس لإضافة عناصر إلى القائمة:
استخدام النظام;
باستخدام النظام.مجموعات.عام;
برنامج الفصل
{
// إنشاء قائمة نوع السلسلة
قائمة الأسماء = قائمة جديدة ();
// إضافة عناصر إلى القائمة باستخدام المفهرس
الأسماء [0] ="أليس";
الأسماء [1] = "بوب";
الأسماء [2] = "تشارلي";
// عرض القائمة على الشاشة
فوريش (اسم السلسلة في الأسماء)
{
وحدة التحكم.خط الكتابة (الاسم);
}
قائمة
. هذه الوظيفة يجعل من السهل ومرنة للعمل مع مجموعات في ج#.
الحصول على العناصر من قائمة في ج#
للعمل مع القوائم في ج# ، ستحتاج إلى استخدام طرق مختلفة للوصول إلى العناصر وتنفيذ العمليات عليها. في هذا القسم ، سنلقي نظرة على العديد من الطرق الشائعة الاستخدام للحصول على العناصر من القائمة.
الحصول على عنصر حسب الفهرس
واحدة من أسهل الطرق للحصول على عنصر من القائمة هي استخدام الفهرس الخاص به. تبدأ فهارس عناصر القائمة من 0 ، وبالتالي فإن العنصر الأول سيكون له فهرس 0 ، والثاني سيكون له فهرس 1 ، وهكذا.
قائمة الأسماء = قائمة جديدة ();
في المثال أعلاه ، نقوم بإنشاء قائمة بالسلاسل وإضافة عدة أسماء إليها. ثم نحصل على الاسم الثالث من القائمة باستخدام الفهرس 2. نتيجة لذلك ، سيحتوي متغير الاسم الثالث على القيمة "أولغا".
الحصول على العنصر الأول أو الأخير
و
الاخير()
. تعيد هذه الطرق العنصر الأول والأخير من القائمة ، على التوالي.
قائمة أرقام = قائمة جديدة ();
أرقام.إضافة (10);
أرقام.إضافة (20);
كثافة العمليات الأخيرةرقم = أرقام.الاخير();
في المثال أعلاه ، نقوم بإنشاء قائمة بالأرقام وإضافة عدة قيم إليها. ثم نستخدم الطريقة
توراي ()
. تقوم هذه الطريقة بتحويل القائمة إلى مصفوفة وإعادتها.
قائمة الفواكه = قائمة جديدة ();
الفواكه.إضافة ("تفاحة");
جيترانج()
أو
خذ()
. الطريقة
جيترانج()
قائمة فرعية 1 = أرقام.جيترانج(2, 3); // [3, 4, 5]
قائمة فرعية 2 = أرقام.خذ (4).توليست(); // [1, 2, 3, 4]
في المثال أعلاه ، نقوم بإنشاء قائمة بالأرقام ثم استخدام الطرق
جيترانج()
و
المجموعة الفرعية1
سيحتوي على القيم [3 ، 4 ، 5] والمتغير
المجموعة الفرعية2
- القيم [1, 2, 3, 4].
غالبا ما تستخدم الطرق المذكورة أعلاه للحصول على عناصر من قائمة في ج#. يمكن أن تكون مفيدة في حل المهام المختلفة المتعلقة بمعالجة البيانات في القوائم.
تغيير العناصر في القائمة في ج#
في لغة البرمجة ج# ، يمكنك تغيير العناصر في قائمة باستخدام أساليب مختلفة والمشغلين. في هذا القسم ، سننظر في الطرق الرئيسية لتغيير العناصر في القوائم.
إضافة عناصر إلى القائمة
لإضافة عناصر جديدة إلى القائمة في ج# ، يمكنك استخدام
طريقة الإضافة ()
. تضيف هذه الطريقة عنصرا إلى نهاية القائمة.
قائمة مايليست = قائمة جديدة ();
مايليست.يضاف ("العنصر 1");
مايليست.يضاف ("العنصر 2");
مايليست.يضاف ("العنصر 3");
يمكنك أيضا إضافة عناصر متعددة في وقت واحد باستخدام الطريقة
أدرانج()
مايليست.أدرانج (قائمة جديدة ()
{
"العنصر 1",
"العنصر 2",
"العنصر 3"
});
قائمة مايليست = قائمة جديدة ();
مايليست.يضاف ("العنصر 1");
مايليست.يضاف ("العنصر 2");
مايليست [1] = "عنصر معدل";
الآن سيحتوي العنصر الثاني في القائمة على القيمة "عنصر معدل".
إزالة العناصر من القائمة
هناك العديد من الطرق والمشغلين لإزالة العناصر من قائمة في ج#.
لحذف عنصر حسب الفهرس ، يمكنك استخدام الطريقة
ريموفيت()
:
قائمة مايليست = قائمة جديدة ();مايليست.يضاف ("العنصر 1");
مايليست.يضاف ("العنصر 2");
مايليست.ريموفيت (0);الآن سيتم حذف العنصر الأول في القائمة ("العنصر 1") وستحتوي القائمة فقط على العنصر "العنصر 2".
يمكنك أيضا إزالة جميع العناصر من القائمة باستخدام الطريقة
واضح():
قائمة مايليست = قائمة جديدة ();
مايليست.يضاف ("العنصر 1");
مايليست.يضاف ("العنصر 2");
مايليست.واضح();
الآن ستكون القائمة بأكملها فارغة.
هذه مجرد نظرة عامة صغيرة على إمكانيات تغيير العناصر في القوائم في ج#. يمكن العثور على مزيد من المعلومات حول الأساليب والمشغلين في وثائق ج#. يمكنك تجربة وتجربة طرق مختلفة لتغيير العناصر في القوائم لتحقيق النتائج التي تحتاجها.
إزالة العناصر من القائمة في ج#
إزالة العناصر من قائمة في ج # يمكن القيام به باستخدام أساليب وعمليات مختلفة.
تتمثل إحدى طرق إزالة عنصر من القائمة في استخدام طريقة الإزالة (). تأخذ هذه الطريقة كوسيطة قيمة العنصر المراد حذفه. على سبيل المثال:
قائمة.إزالة (42);
في هذا المثال ، ستتم إزالة العنصر الذي يحتوي على القيمة 42 من القائمة.
هناك طريقة أخرى لإزالة عنصر من القائمة وهي استخدام طريقة ريموفيت (). تأخذ هذه الطريقة كوسيطة فهرس العنصر المراد حذفه. على سبيل المثال:
قائمة.ريموفيت (2);
في هذا المثال ، ستتم إزالة العنصر الذي يحتوي على الفهرس 2 من القائمة.
يمكنك أيضا استخدام طريقة ريموفال () لإزالة كافة العناصر التي تتطابق مع شرط معين. على سبيل المثال:
قائمة.ريموفال (البند = > البند > 10);
في هذا المثال ، سيتم حذف جميع العناصر من القائمة التي تزيد عن 10.
بالإضافة إلى ذلك ، يمكنك استخدام فوريش أو للمشغلين للتكرار من خلال القائمة وحذف العناصر إذا لزم الأمر. على سبيل المثال:
إلى عن على (الباحث الأول = قائمة.العد-1 ؛ أنا > = 0 ؛ أنا i)
{
إذا (قائمة [أنا] < 0)
{
قائمة.ريموفيت (أنا);
}
}
في هذا المثال ، ستتم إزالة جميع العناصر السلبية من القائمة.
ضع في اعتبارك أن حذف العناصر من القائمة يمكن أن يغير حجم العناصر وترتيبها.
البحث عن العناصر في القائمة في ج#
عندما يكون لديك قائمة كبيرة من البيانات في ج# ، غالبا ما يكون من الضروري العثور على عناصر محددة في هذه القائمة. في هذا الدليل ، سننظر في كيفية البحث عن العناصر في قائمة باستخدام طرق وأدوات مختلفة في ج#.
1. البحث عن عنصر حسب القيمة
واحدة من أسهل الطرق للعثور على عنصر في القائمة هي استخدام القائمة.يحتوي على طريقة. يتحقق هذا الأسلوب لوجود عنصر في القائمة وإرجاع صحيح إذا تم العثور على العنصر ، أو خطأ إذا كان العنصر مفقود.
قائمة الأسماء = قائمة جديدة ()
{
"إيفان",
"أليكسي",
"ماريا",
"آنا",
"أوليغ"
};
بول يحتويماريا = أسماء.يحتوي على ("ماريا") ؛ / / صحيح
2. البحث عن عنصر حسب الشرط
هناك طريقة أخرى للعثور على عنصر في قائمة وهي استخدام طريقة القائمة.البحث أو القائمة.فيندكس للعثور على عنصر يفي بشرط معين.
قائمة أرقام = قائمة جديدة ()
{
1,
2,
3,
4,
5
};
كثافة العمليات أكبر من ثلاثة = أرقام.البحث (ن = > ن > 3) ؛ / / 4
مؤشر كثافة العمليات أكبر من ثلاثة = أرقام.فيندكس (ن = > ن > 3) ؛ / / 3
3. البحث عن جميع العناصر حسب الشرط
إذا كنت تريد العثور على جميع العناصر التي تفي بشرط معين ، يمكنك استخدام طريقة القائمة.فيندال أو قائمة.أين. يعيدون قائمة جديدة تحتوي على جميع العناصر التي تفي بالشرط.
قائمة أرقام = قائمة جديدة ()
{
1,
2,
3,
4,
5
};
قائمة أكبر ثلاثة = أرقام.فيندال (ن = > ن > 3); // [4, 5]
أكبر عدد لا يحصى من الثلاثة = أرقام.أين (ن = > ن > 3); // [4, 5]
4. ابحث عن فهرس العنصر
إذا كنت بحاجة إلى العثور على فهرس عنصر في قائمة ، فيمكنك استخدام طريقة القائمة.إندكسوف. يقوم بإرجاع فهرس التكرار الأول لعنصر في القائمة ، أو -1 إذا لم يتم العثور على العنصر.
قائمة الأسماء = قائمة جديدة ()
{
"إيفان",
"أليكسي",
"ماريا",
"آنا",
"أوليغ"
};
مؤشر كثافة العمليات = أسماء.إندكسوف ("ماريا") ؛ / / 2
5. ابحث عن العنصر الأخير
إذا كنت بحاجة إلى العثور على آخر ظهور لعنصر في القائمة ، فيمكنك استخدام طريقة القائمة.مؤشر آخر من. يقوم بإرجاع فهرس آخر ظهور لعنصر في القائمة ، أو -1 إذا لم يتم العثور على العنصر.
قائمة أرقام = قائمة جديدة ()
{
1,
2,
3,
4,
5,
3
};
إنت لاست إندكس = أرقام.مؤشر آخر (3) ؛ / / 5
6. ابحث عن جميع فهارس العنصر
إذا كنت بحاجة إلى العثور على جميع فهارس عنصر ما في قائمة ، فيمكنك استخدام طريقة القائمة.فيندالينديكس أو تشغيل حلقة من خلال كافة عناصر القائمة باستخدام طريقة القائمة.فوريتش.
قائمة أرقام = قائمة جديدة ()
{
1,
2,
- };
- {
- إذا (أرقام [أنا] = = 3)
{
الفهارس.يضاف(ط);
}
}
الآن بعد أن عرفت الطرق المختلفة للبحث عن العناصر في قائمة في ج# ، يمكنك بسهولة العثور على البيانات التي تحتاجها من قائمة كبيرة.
مثال على استخدام قائمة في ج # البرمجة
في ج# البرمجة ، هناك عدة طرق لاستخدام القوائم لمجموعة مرتبة أو غير مرتبة من البيانات. فيما يلي أمثلة على بعض منها:
1. قائمة غير مرتبة:
إنشاء مثيل من الفئة
قائمة
- يمكن الوصول إلى عناصر القائمة بواسطة الفهرس.
- قائمة بالأسماء.إضافة ("إيفان");
- قائمة بالأسماء.أضف ("ماريا");
قائمة بالأسماء.إضافة ("الكسندر");
فوريش (اسم السلسلة في ليستوفنامس)
{
وحدة التحكم.خط الكتابة (الاسم);
}
2. قائمة مرتبة:
استخدم الفصل
قائمة الفرز
لإنشاء قائمة مرتبة. في هذه الحالة
تيكي
- هذا هو نوع بيانات المفاتيح المستخدمة للفرز ، و
تفالو
هو نوع البيانات من القيم.
إضافة عناصر إلى القائمة باستخدام الطريقة
إضافة()
عن طريق تحديد المفتاح والقيمة لكل عنصر.
يمكن الوصول إلى عناصر القائمة باستخدام مفتاح.
نموذج التعليمات البرمجية:
سورتيدليست سورتيدليستوفنامس = سورتيدليست جديدة ();
قائمة أسماء مصنفة.إضافة (3 ، "إيفان");
قائمة أسماء مصنفة.إضافة(1 ، "ماريا");
قائمة أسماء مصنفة.إضافة (2 ، "الكسندر");
فوريتش (كيفالويباير زوج في سورتدليستوفنامس)