תוכן עניינים:

איך יוצרים מיון בועות ברשימה מקושרת ב-C++?
איך יוצרים מיון בועות ברשימה מקושרת ב-C++?

וִידֵאוֹ: איך יוצרים מיון בועות ברשימה מקושרת ב-C++?

וִידֵאוֹ: איך יוצרים מיון בועות ברשימה מקושרת ב-C++?
וִידֵאוֹ: מבנה נתונים | "רשימה מקושרת" 2024, אַפּרִיל
Anonim

כדי לבצע מיון בועות, אנו מבצעים את השלבים הבאים:

  1. שלב 1: בדוק אם הנתונים על 2 הצמתים הסמוכים נמצאים בסדר עולה או לא. אם לא, החלף את הנתונים של 2 הצמתים הסמוכים.
  2. שלב 2: בסוף מעבר 1, האלמנט הגדול ביותר יהיה בסוף הרשימה.
  3. שלב 3: אנו מפסיקים את הלולאה, כאשר כל האלמנטים מופעלים.

בדרך זו, איך יוצרים מיון בועות ברשימה מקושרת ב-C++?

כדי לבצע מיון בועות, אנו מבצעים את השלבים הבאים:

  1. שלב 1: בדוק אם הנתונים על 2 הצמתים הסמוכים נמצאים בסדר עולה או לא. אם לא, החלף את הנתונים של 2 הצמתים הסמוכים.
  2. שלב 2: בסוף מעבר 1, האלמנט הגדול ביותר יהיה בסוף הרשימה.
  3. שלב 3: אנו מפסיקים את הלולאה, כאשר כל האלמנטים מופעלים.

באופן דומה, מהו מיון בועות C++? מיון בועות . בתוך ה מיון בועות , כמו אלמנטים מְמוּיָן הם בהדרגה" בּוּעָה " (או לעלות) למיקומם הנכון במערך, כמו בועות עולה בכוס סודה. ה מיון בועות משווה שוב ושוב אלמנטים סמוכים של מערך. האלמנט הראשון והשני מושווים ומוחלפים אם אינם תקינים.

שנית, איך ממיין נתונים ברשימה מקושרת?

אַלגוֹרִיתְם

  1. צור צומת מחלקה שיש לו שתי תכונות: נתונים והבא.
  2. צור עוד מחלקה SortList שיש לה שתי תכונות: ראש וזנב.
  3. addNode() יוסיף צומת חדש לרשימה:
  4. sortList() ימיין את הצמתים של הרשימה בסדר עולה.
  5. display() יציג את הצמתים הקיימים ברשימה:

מהו אלגוריתם המיון הטוב ביותר לרשימה מקושרת?

מיזוג מיון לרוב מועדף למיון רשימה מקושרת. הביצועים האיטיים של גישה אקראית של רשימה מקושרת גורמים לכמה אלגוריתמים אחרים (כגון מיון מהיר ) ביצועים גרועים, ואחרים (כגון מיון ערמות ) בלתי אפשרי לחלוטין. תן ל-head להיות הצומת הראשון של הרשימה המקושרת שיש למיין ול-headRef להיות המצביע לראש.