מבוא לתכנות ולמדעי המחשב בשפת C/רקורסיה (מיון מהיר): הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שורה 15:
=== מימוש רקורסיבי ===
נתרגם את התיאור המילולי לקוד:
<source lang = "c" ">
<syntaxhighlight>
int array[1000];
...
שורה 27:
quickSort(pivot+1,to);
}
</source>
</syntaxhighlight>
אנו משתמשים במערך גלובאלי להכלת סדרת המספרים למיון. נניח שהוא כבר מלא במספרים. בגלל שהאלגוריתם בנוי על מיון של מקטעים, כתבנו פונקציה רקורסיבית שמקבלת טווח מסויים למיון. from יהיה האינדקס במערך של תחילת הטווח ו to יהיה האינדקס של סוף הטווח. אם from שווה ל to אז לפנינו קטע בעל איבר יחיד, במקרה ש from גדול מ to, נחשוב על הקטע כקטע ריק. בשני המקרים האלה מדובר בקטע ממויין ואפשר לסיים. תנאי זה משמש כתנאי העצירה של הרקורסיה.