כיצד למיין מערך 2d ב-Java

Kyzd Lmyyn M Rk 2d B Java



מערך דו מימדי או דו מימדי הוא אוסף של עמודות ושורות. מתכנתים יכולים לגשת באופן אקראי לרכיבי המערך הדו-ממדי או לכל תא בנפרד על ידי שימוש באינדקסים שלהם. בעזרת המיון מסודרים אלמנטים של מערך לפי הדרישות, בין אם בסדר עולה או יורד. ליתר דיוק, ה-Java ' Array.sort() 'ניתן לנצל עבור האלמנטים של מערך דו מימדי בתוך תוכנית.

מדריך זה ידון כיצד למיין מערכים דו-ממדיים ב-Java.

כיצד למיין מערך 2D ב-Java?

ב-Java, אתה יכול למיין מערך דו-ממדי באמצעות:







כעת נדון בכל אחת מהשיטות המוזכרות אחת לאחת.



שיטה 1: מיון בשורה של מערך 2D ב-Java

במיון לפי שורה, אתה יכול להשתמש ב' Array.sort() ' שיטה למיון רכיבי המערך. הוא חוזר על כל רכיב בשורה מסוימת ומחליף את המספרים השלמים כאשר האלמנט הנוכחי גדול מהאלמנט הבא.



בואו נבדוק דוגמה כדי להבין את צד היישום.





דוגמא
בדוגמה זו, ראשית ניצור שיטה סטטית ' rowWiseSorting() ' כדי למיין את המערך בסדר עולה על ידי קריאת ' Arrays.sort() ' השיטה של ​​המחלקה Arrays ולאחר מכן הדפס את האלמנטים הממוינים של המערך באמצעות ' ל 'לולאות:

סטָטִי int rowWiseSorting ( int arr [ ] [ ] ) {
ל ( int אני = 0 ; אני < arr. אורך ; אני ++ ) {
מערכים. סוג ( arr [ אני ] ) ;
}
ל ( int אני = 0 ; אני < arr. אורך ; אני ++ ) {
ל ( int י = 0 ; י < arr [ אני ] . אורך ; י ++ ) {
מערכת. הַחוּצָה . הדפס ( arr [ אני ] [ י ] + '' ) ;
}
מערכת. הַחוּצָה . println ( ) ;
}
לַחֲזוֹר 0 ;
}

כאן, יש לנו מערך דו מימדי בשם ' arr ' בצורת מטריצה ​​3×3 (שלוש שורות ושלוש עמודות). כעת, כדי למיין את השורות של המערך שנוצר, נקרא לשיטה ' rowWiseSorting() ' על ידי העברת מערך כארגומנט בשיטת main():



פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
int arr [ ] [ ] = חָדָשׁ int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , עשרים } ,
{ 28 , 25 , 8 } ,
{ אחד עשר , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

כפי שאתה יכול לראות, מיינו את המערך שלנו בסדר עולה:

רוצה לנסות מיון לפי עמודות ב-Java? עיין בסעיף הבא.

שיטה 2: מיון עמודה של מערך 2D ב-Java

כדי למיין באופן עמודה מערך דו-ממדי ב-Java, קרא ל' Arrays.sort() שיטה עם ' ממשק השוואה '. ממשק Comparator מגדיר ' לְהַשְׁווֹת() ” שיטה שמקבלת שני פרמטרים ולאחר מכן משווה אותם אחד עם השני. אם הפרמטרים שהועברו שווים, הוא מחזיר אפס. אם הפרמטר הראשון גדול מהפרמטר השני, הוא מחזיר ערך חיובי. אם לא, מוחזר ערך שלילי.

דוגמא
בדוגמה זו, ניצור שיטה בשם ' columnWiseSorting() ' עם שני ארגומנטים, מערך דו מימדי ' arr[][] ' ומספר עמודה בשם ' סקירה כללית '. לאחר מכן, התקשר ל' Arrays.sort() שיטת ' עם ' ממשק השוואה ' כדי להשוות את הערכים של עמודה. לבסוף, נדפיס את הערכים של העמודה הממוינת של המערך באמצעות ' ל 'לולאות:

סטָטִי בָּטֵל columnWiseSorting ( int arr [ ] [ ] , int סקירה כללית ) {
מערכים. סוג ( arr , חָדָשׁ משווה < int [ ] > ( ) {
פּוּמְבֵּי int לְהַשְׁווֹת ( int [ ] ראשון , int [ ] scnd ) {
אם ( ראשון [ סקירה כללית - 1 ] > scnd [ סקירה כללית - 1 ] ) {
לַחֲזוֹר 1 ;
}
אַחֵר לַחֲזוֹר - 1 ;
}
} ) ;
}
ל ( int אני = 0 ; אני < arr. אורך ; אני ++ ) {
ל ( int י = 0 ; י < arr [ אני ] . אורך ; י ++ ) {
מערכת. הַחוּצָה . הדפס ( arr [ אני ] [ י ] + '' ) ;
}
מערכת. הַחוּצָה . println ( ) ;
}

נשתמש במערך שכבר נוצר בשם ' arr ' ולהעביר אותו ל' columnWiseSorting() 'כפרמטר ראשון ו' 1 ' בתור הפרמטר השני:

columnWiseSorting ( arr , 1 ) ;

ביצוע התוכנית הנתונה לעיל ימיין את העמודה הראשונה של המערך הדו-ממדי שלנו:

אנו מלקטים את כל המידע החיוני כדי למיין את המערך הדו-ממדי ב-Java.

סיכום

ב-Java, ניתן למיין מערך דו-ממדי בשורה או לפי עמודה לפי הדרישות. למיון לפי שורה, נעשה שימוש רק בשיטת Array.sort(); עם זאת, במיון לפי עמודה, השיטה Array.sort() נקראת עם ממשק Comparator. עבור מיון בשורה, אף פרמטר לא מועבר לשיטת Array.sort() בעוד שבשיטת המיון לפי עמודה, מספר העמודות שיש למיין מוזכר כפרמטר. מדריך זה דן בשיטות למיין את המערך הדו-ממדי ב-Java עם דוגמאות.