Advertisement
yoyo106

Sorting

May 31st, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. void swap(int*a,int*b)
  5. {
  6.     int temp;
  7.     temp=*a;
  8.     *a=*b;
  9.     *b=temp;
  10. }
  11. void selectionSort(int arr[],int length)
  12. {
  13.     int i,j;
  14.     for(i=0;i<length-1;i++)
  15.     {
  16.         int minAtI = i;
  17.         for(j=i+1;j<length;j++)
  18.             if(arr[j]<arr[minAtI])
  19.                 minAtI=j;
  20.         swap(&arr[minAtI],&arr[i]);
  21.     }
  22. }
  23. void insertionSort(int arr[],int length)
  24. {
  25.     int i,j;
  26.     for(i=1;i<length;i++)
  27.         for(j=i;j>0;j--)
  28.             if(arr[j-1]>arr[j])
  29.                 swap(&arr[j-1],&arr[j]);
  30.             else
  31.                 break;
  32. }
  33. void bubbleSort(int arr[],int length)
  34. {
  35.     int i,j;
  36.     for(i=length-1;i>0;i--)
  37.         for(j=0;j<i;j++)
  38.             if(arr[j]>arr[j+1])
  39.                 swap(&arr[j],&arr[j+1]);
  40. }
  41. int main ()
  42. {
  43.     printf("Enter size of array: ");
  44.     int n;
  45.     scanf("%d",&n);
  46.     int arr[n];
  47.     size_t length = sizeof(arr) / sizeof(int);
  48.     int i;
  49.     for(i=0;i<length;i++)
  50.         arr[i]=rand()%10;
  51.     printf("Before sort: \n");
  52.     for(i=0;i<length;i++)
  53.         printf("%d ",arr[i]);
  54.     printf("\n");
  55.     //selectionSort(arr,length);
  56.     //insertionSort(arr,length);
  57.     //bubbleSort(arr,length);
  58.     printf("After sort: \n");
  59.     for(i=0;i<length;i++)
  60.         printf("%d ",arr[i]);
  61.     printf("\n");
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement