تابع مرتب سازی انتخابی (Selection Sort) در C++
دوشنبه 20 تیر 1390 7:09 PMمرتبسازی انتخابی یکی از انواع الگوریتم مرتبسازی میباشد که جزو دستهٔ الگوریتمهای مرتبسازی مبتنی بر مقایسهاست.این الگوریتم دارای پیچیدگی زمانی از درجهٔ (O(n2 است که به همین دلیل اعمال آن روی مجموعهٔ بزرگی از اعداد کارا به نظرنمی رسدو به طور عمومی ضعیفتر از نوع مشابهش که مرتبساز درجی است عمل میکند.این مرتب سازی به دلیل سادگی اش قابل توجهاست.
/* Sepehr Mohammad www.SepehrM.com */ void selectionSort(int arr[], int len) { int i, j, minIndex, tmp; for (i = 0; i < len - 1; i++) { minIndex = i; for (j = i + 1; j < len; j++) if (arr[j] < arr[minIndex]) minIndex = j; if (minIndex != i) { tmp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = tmp; } } }