Sadry_Royal
پنج شنبه 22 فروردین 1392, 14:57 عصر
سلام
فرض کنید آرایه ای دارم به نام A که n تا عضو توش ذخیره شده و میخوام مرتبش کنم به طوری که ابتدا کوچیکترین عضو A رو پیدا کنه و سپس جاش رو با عضو A(1) عوض کنه بعد دومین عضو کوچیک رو پیدا کنه و جاش رو با عضو A(2) عوض کنه و این کار تا برای n-1 عضو A با این روش ادامه پیدا کنه.
اول میخواستم بپرسم که الگوریتم این آرایه با انتخابی نوشته بشه بهتره یا درجی؟ (خود من فکر میکنم انتخابی بهتر باشه)
دوم اینکه این شبه کد درسته به نظرتون؟
البته میدونم که این شبه کد بزرگترین رو انتخاب میکنه ولی میخوام بدونم همین چارچوب رو داره تقریبا؟
void selection_sort (int arr[] , int n) { register int i , j; int max , temp; for (i = n-1 ; i > 0 ; i--) { max = 0; for (j = 1 ; j <= i ; j++) if (arr[max] < arr[j]) max = j; temp = arr[i]; arr[i] = arr[max]; arr[max] = temp; } }
فرض کنید آرایه ای دارم به نام A که n تا عضو توش ذخیره شده و میخوام مرتبش کنم به طوری که ابتدا کوچیکترین عضو A رو پیدا کنه و سپس جاش رو با عضو A(1) عوض کنه بعد دومین عضو کوچیک رو پیدا کنه و جاش رو با عضو A(2) عوض کنه و این کار تا برای n-1 عضو A با این روش ادامه پیدا کنه.
اول میخواستم بپرسم که الگوریتم این آرایه با انتخابی نوشته بشه بهتره یا درجی؟ (خود من فکر میکنم انتخابی بهتر باشه)
دوم اینکه این شبه کد درسته به نظرتون؟
البته میدونم که این شبه کد بزرگترین رو انتخاب میکنه ولی میخوام بدونم همین چارچوب رو داره تقریبا؟
void selection_sort (int arr[] , int n) { register int i , j; int max , temp; for (i = n-1 ; i > 0 ; i--) { max = 0; for (j = 1 ; j <= i ; j++) if (arr[max] < arr[j]) max = j; temp = arr[i]; arr[i] = arr[max]; arr[max] = temp; } }