كيفية فرز صفيف ثنائي الأبعاد بجافا

Kyfyt Frz Sfyf Thnayy Alab Ad Bjafa



المصفوفة ثنائية الأبعاد أو ثنائية الأبعاد عبارة عن مجموعة من الأعمدة والصفوف. يمكن للمبرمجين الوصول عشوائيًا إلى عناصر المصفوفة ثنائية الأبعاد أو كل خلية على حدة باستخدام فهارسهم. بمساعدة الفرز ، يتم ترتيب عناصر المصفوفة وفقًا للمتطلبات ، سواء بترتيب تصاعدي أو تنازلي. وبشكل أكثر تحديدًا ، فإن جافا ' Array.sort () يمكن استخدام ”لعناصر مصفوفة ثنائية الأبعاد داخل برنامج.

سيناقش هذا البرنامج التعليمي كيفية فرز المصفوفات ثنائية الأبعاد في Java.

كيفية فرز 2D Array في Java؟

في Java ، يمكنك فرز مصفوفة ثنائية الأبعاد باستخدام:







سنناقش الآن كل من الطرق المذكورة واحدة تلو الأخرى.



الطريقة 1: الفرز بالتجديف للصفيف ثنائي الأبعاد في Java

في الترتيب الصفوف ، يمكنك استخدام ' Array.sort () 'طريقة لفرز عناصر المصفوفة. إنه يكرر كل عنصر في صف معين ويتبادل الأعداد الصحيحة عندما يكون العنصر الحالي أكبر من العنصر التالي.



دعنا نتحقق من مثال لفهم جانب التنفيذ.





مثال
في هذا المثال ، سننشئ أولاً طريقة ثابتة ' RowWiseSorting () 'لفرز المصفوفة بترتيب تصاعدي عن طريق استدعاء' Arrays.sort () 'طريقة صنف المصفوفات ثم طباعة عناصر المصفوفة المصنفة باستخدام' إلى عن على 'حلقات:

ثابتة int الفرز ( int arr [ ] [ ] ) {
إلى عن على ( int أنا = 0 ؛ أنا < arr. الطول ؛ أنا ++ ) {
المصفوفات. فرز ( arr [ أنا ] ) ؛
}
إلى عن على ( int أنا = 0 ؛ أنا < arr. الطول ؛ أنا ++ ) {
إلى عن على ( int ي = 0 ؛ ي < arr [ أنا ] . الطول ؛ ي ++ ) {
نظام. خارج . مطبعة ( arr [ أنا ] [ ي ] + '' ) ؛
}
نظام. خارج . println ( ) ؛
}
إرجاع 0 ؛
}

هنا ، لدينا مجموعة ثنائية الأبعاد تسمى ' arr ”من شكل مصفوفة 3 × 3 (ثلاثة صفوف وثلاثة أعمدة). الآن ، لفرز صفوف المصفوفة التي تم إنشاؤها ، سنسمي الطريقة ' RowWiseSorting () 'بتمرير المصفوفة كوسيطة في طريقة main ():



عام ثابتة فارغ رئيسي ( سلسلة [ ] أرجس ) {
int arr [ ] [ ] = الجديد int [ ] [ ] {
{ 12 و 14 و 4 } و
{ 14 و 23 و عشرين } و
{ 28 و 25 و 8 } و
{ أحد عشر و 5 و 1 } } ؛
الفرز ( arr ) ؛
}
}

كما ترى ، قمنا بفرز المصفوفة الخاصة بنا بترتيب تصاعدي:

هل تريد تجربة الفرز حسب العمود في Java؟ الق نظرة على القسم التالي.

الطريقة 2: فرز عمودي للصفيف ثنائي الأبعاد في Java

لفرز صفيف ثنائي الأبعاد في Java حسب العمود ، اتصل بـ ' Arrays.sort () 'مع' واجهة المقارنة '. تحدد واجهة المقارنة ' قارن() 'الذي يقبل معلمتين ثم يقارنانهما مع بعضهما البعض. إذا كانت المعلمات التي تم تمريرها متساوية ، فإنها ترجع صفرًا. إذا كانت المعلمة الأولى أكبر من المعلمة الثانية ، فإنها ترجع قيمة موجبة. إذا لم يكن كذلك ، يتم إرجاع قيمة سالبة.

مثال
في هذا المثال ، سننشئ طريقة باسم ' العمود () 'مع وسيطتين ، مصفوفة ثنائية الأبعاد' arr [] [] 'ورقم عمود يسمى' نظرة عامة '. ثم اتصل بـ ' Arrays.sort () 'مع' واجهة المقارنة لمقارنة قيم العمود. أخيرًا ، سنطبع قيم عمود المصفوفة المصنف باستخدام ' إلى عن على 'حلقات:

ثابتة فارغ فرز العمود ( int arr [ ] [ ] و int نظرة عامة ) {
المصفوفات. فرز ( arr و الجديد المقارن < int [ ] > ( ) {
عام int قارن ( int [ ] أولا و int [ ] scnd ) {
إذا ( أولا [ نظرة عامة - 1 ] > scnd [ نظرة عامة - 1 ] ) {
إرجاع 1 ؛
}
آخر إرجاع - 1 ؛
}
} ) ؛
}
إلى عن على ( int أنا = 0 ؛ أنا < arr. الطول ؛ أنا ++ ) {
إلى عن على ( int ي = 0 ؛ ي < arr [ أنا ] . الطول ؛ ي ++ ) {
نظام. خارج . مطبعة ( arr [ أنا ] [ ي ] + '' ) ؛
}
نظام. خارج . println ( ) ؛
}

سنستخدم المصفوفة التي تم إنشاؤها بالفعل باسم ' arr 'ونقله إلى' العمود () 'كمعامل أول و' 1 'كمعامل ثاني:

فرز العمود ( arr و 1 ) ؛

سيؤدي تنفيذ البرنامج المذكور أعلاه إلى فرز العمود الأول من صفيفنا ثنائي الأبعاد:

نقوم بتجميع جميع المعلومات الأساسية لفرز المصفوفة ثنائية الأبعاد في Java.

استنتاج

في Java ، يمكن فرز المصفوفة ثنائية الأبعاد من حيث الصفوف أو الأعمدة وفقًا للمتطلبات. لفرز الصفوف ، يتم استخدام طريقة Array.sort () فقط ؛ ومع ذلك ، في الفرز حسب العمود ، يتم استدعاء طريقة Array.sort () بواجهة المقارنة. بالنسبة إلى الفرز على مستوى الصفوف ، لا يتم تمرير أي معلمة إلى طريقة Array.sort () ، بينما في طريقة الفرز حسب العمود ، يتم ذكر عدد الأعمدة التي يجب فرزها كمعامل. ناقش هذا البرنامج التعليمي طرق فرز المصفوفة ثنائية الأبعاد في Java باستخدام أمثلة.