Thursday, April 16, 2020

A Quick Guide To Selection Sorting



In this Article I'll tell you about Selection Sort
Selection sort is that type of sorting in which smallest element of a list is searched and then this number is swapped with the first element of the list and then second smallest element is searched in the list and is swapped with the second element of the list and so on i,e this "thingy" thing continues on till n-1 times (where 'n' is the number of terms).
COMPLEXITY:-
Complexity of Selection sort is O(n^2) in best case as well as in worst case.

Well selection sort is not a good sorting algorithm which you can see even from the complexity of selection sort because selection sort performs same number of comparisons even in the best case as in the worst case. Which makes it very slow.
Pseudo-code:-
sort(Arr)
for i = 0 to n-1
smallest = location of smallest number from Arr[i] to Arr[n-1]
swap Arr[i] with Arr[smallest]

/*C Program: Implementation of Selection Sort*/
#include<stdio.h>
void swap(int a[], int i, int j){
    int tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
}
void selectionSort(int a[], int l, int h){
   for(int i=l; i<h; i++){
     int small  = i;
     for(int j=i+1; j<=h; j++){
       if(a[j] < a[i]) small = j;
     }
     swap(a,i,small);
   }
}
int main(void) {
   int arr[10], n;
   printf("Enter Size of Array: ");
   scanf("%d", &n);
   printf("Enter %d elements:\n", n);
   for(int i=0; i<n; i++) scanf("%d", &arr[i]);
   selectionSort(arr, 0, n-1);
   printf("Sorted Array is as:\n");
   for(int i=0; i<n; i++) printf("%d ", arr[i]);
   printf("\n");
   return 0;
}

Related posts


  1. Game Hacking
  2. Top Pentest Tools
  3. Hack Tools 2019
  4. Pentest Reporting Tools
  5. Hacking Tools Hardware
  6. Pentest Tools Kali Linux
  7. Computer Hacker
  8. Pentest Tools Find Subdomains
  9. Usb Pentest Tools
  10. Pentest Tools Download
  11. How To Install Pentest Tools In Ubuntu
  12. Hacker Tools Mac
  13. Hacking Tools Software
  14. Pentest Tools Find Subdomains
  15. Hacking Tools Software
  16. Hacker Tools Free Download
  17. Pentest Tools
  18. Pentest Tools Linux
  19. Hacker Techniques Tools And Incident Handling

No comments: