Arjun Suresh (talk | contribs) (Created page with "Complexity and no. of swaps required ==Recursive solution== <syntaxhighlight lang="c" name="selectionsort_rec"> void selection_s...") |
Arjun Suresh (talk | contribs) |
||
Line 9: | Line 9: | ||
int big = 0, i; | int big = 0, i; | ||
for(i = 1; i < n; i++) | for(i = 1; i < n; i++) | ||
− | |||
if(a[i] > a[big]) | if(a[i] > a[big]) | ||
− | |||
big = i; | big = i; | ||
− | + | ||
− | |||
/*swap a[n-1] and a[big]*/ | /*swap a[n-1] and a[big]*/ | ||
int temp = a[n-1]; | int temp = a[n-1]; |
Complexity and no. of swaps required
<syntaxhighlight lang="c" name="selectionsort_rec">
void selection_sort(int *a, int n) {
if(n == 1) return; int big = 0, i; for(i = 1; i < n; i++) if(a[i] > a[big]) big = i; /*swap a[n-1] and a[big]*/ int temp = a[n-1]; a[n-1] = a[big]; a[big] = temp; selection_sort(a, n-1);
}
int main()
{
int a[100], i, n; printf("Enter n:"); scanf("%d", &n); printf("Enter numbers: "); for(i = 0; i < n; i++) scanf("%d", &a[i]); selection_sort(a, n); prntf("Printing sorted:\n"); for(i = 0; i < n; i++) printf("%d ", a[i]); return 0;
}
</syntaxhighlight>
Complexity and no. of swaps required
<syntaxhighlight lang="c" name="selectionsort_rec">
void selection_sort(int *a, int n) {
if(n == 1) return; int big = 0, i; for(i = 1; i < n; i++) { if(a[i] > a[big]) { big = i; } } /*swap a[n-1] and a[big]*/ int temp = a[n-1]; a[n-1] = a[big]; a[big] = temp; selection_sort(a, n-1);
}
int main()
{
int a[100], i, n; printf("Enter n:"); scanf("%d", &n); printf("Enter numbers: "); for(i = 0; i < n; i++) scanf("%d", &a[i]); selection_sort(a, n); prntf("Printing sorted:\n"); for(i = 0; i < n; i++) printf("%d ", a[i]); return 0;
}
</syntaxhighlight>