מיון מערך

מיון מערך

קיבלתי תרגיל: למיין מערך מהמספר הקטן לגדול - עד כאן סבבה. התרגיל דורש למיין 2 מערכים כאלו - סבבה. הדרישה: לחבר את 2 המערכים הקודמים למערך אחד - תוך כדי שימוש בכך שהם כבר ממוינים. ממתין לעזרה תודה רועי
 

weismana

New member
ניחוש פרוע ...

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

gregp

New member
נסה לחשוב אחרת

במקום לחבר תחשוב למזג דהינו משני מערכים בסוף תקבל אחד שגם הוא יהיה מוין
 

ihovav

New member
תשובה :

אתה צריך להקצות מערך חדש שסכום האיברים שבו שווה לסכום האיברים שבשני המערכים אח"כ - אתה צריך לרוץ בלולאה עם 3 אינדקסים - שתנאי העצירה יהיה שהאינדקס של המערך הגדול יגיע לסוף המערך אתה צריך לשים תנאי שבודק בכל איטרציה האם אחד מהאינדקסים של המערכים הקטנים הגיע לסוף - ואם כן - פשוט לבצע העתקה מהמערך שעדיין לא נגמר אח"כ אתה צריך לבדוק בכל פעם איזה איבר מבין 2 המערכים קטן יותר (אם זה מערך בסדר עולה) ואותו לשים במקום הבא במערך הגדול, ולקדם את האינדקסים של המערך הגדול ושל המערך ממנו לקחת את האיבר כאשר 2 המערכים נגמרים - הלולאה תעצר והמערך יהיה מועתק בהצלחה
 
למעלה