כיצד למיין רשימה מקושרת ב- Java

מיין את הרשימה המקושרת שלך ב- Java.

מיין רשימה מקושרת ב- Java

שלב 1

הכר את הרשימה המקושרת על-ידי יצירת אובייקט LinkedList חדש והקצאתו למשתנה LinkedList. LinkList יורשת ממחלקת רשימה כללית, כך שכל שיטה שתקבל רשימה תתקבל גם על ידי האובייקט LinkedList.

"" LinkList l = new Linkedist (); ""

שלב 2

הוסף אובייקטים מאותו הסוג (כגון מספרים שלמים) לרשימה. אלה יכולים להיות אובייקטים מכל סוג שהוא, אבל כדי להיות מסוגל למיין את הרשימה המקושרת, הם חייבים להיות מאותו סוג.

שלב 3

השתמש בשיטה List.addFirst כדי להוסיף אובייקטים חדשים בתחילת הרשימה, כך שהאובייקטים שתוסיף יהיו בסדר הפוך. אם ברצונך להוסיף אותם לסוף הרשימה, השתמש בשיטה List.addLast.

(1); list.addFirst (3); list.addFirst (2); ""

שלב 4

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

"(עבור Itator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());" "

מיין באמצעות ברירת המחדל ו comparators מותאם אישית

שלב 1

מיין את הרשימה עם השווה ברירת המחדל. השווה הוא אובייקט המשווה שני אובייקטים. אובייקט ההשוואת המוגדר כברירת מחדל משתמש במפעיל קטן יותר, כך שהרשימה תמוין בסדר עולה. כדי למיין את הרשימה, השתמש בשיטה הסטטית collections.sort.

"" Collections.sort (list); ""

שלב 2

מיין את הרשימה עם משווה אישית על ידי כתיבת מחלקה מיישמת ממשק השוואה ומעביר אותו מופע כארגומנט למיין. הכיתה מיישמת את ההשוואה פשוט צריך ליישם את השיטה "להשוות" פשוטה.

("= = y) {return 0;} else {return 1;}}}"

שלב 3

השתמש בשיחה ל- Collections.sort על-ידי העברת מופע חדש של GreaterThan כארגומנט שני. מאחר שהאובייקטים הגדולים יותר ימוינו מוקדם יותר ברשימה, הרשימה תמוין בסדר יורד במקום לעלות. לחלופין, אם אתה הולך להזמין רשימה של אובייקטים ממחלקה מותאמת אישית שכתבת בעצמך, כי בכיתה ניתן ליישם את ממשק השוואתי במקום באמצעות מחלקה נפרדת Comparator.

"" Collections.sort (list, NewThan ()); ""