Advertisement
Mostafizur_Rahman

Sort_comparison

Jul 3rd, 2021
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void counting_sort(int arr[],int cnt)
  5. {
  6.     int n=cnt;
  7.     int x = arr[0];
  8.     vector<int>v;
  9.     int y=10000000;
  10.     int countpos[100005];
  11.     for(int i=1; i<=n; i++)
  12.     {
  13.         if(arr[i]>x)
  14.             x=arr[i];
  15.         if(arr[i]<y)
  16.             y=arr[i];
  17.  
  18.     }
  19.     int freq[x+1]= {0};
  20.     for(int i=0; i<n; i++)
  21.     {
  22.         freq[arr[i]]++;
  23.     }
  24.     for(int i=y; i<=x; i++)
  25.     {
  26.         while(freq[i]--)
  27.         {
  28.             v.push_back(i);
  29.         }
  30.     }
  31.     v.clear();
  32. }
  33. void bubble_sort(int arr[], int n)
  34. {
  35.     int i, j,x;
  36.     for (i = 0; i < n-1; i++)
  37.         for (j = 0; j < n-i-1; j++)
  38.             if (arr[j] > arr[j+1])
  39.             {
  40.                 x=arr[j];
  41.                 arr[j]=arr[j+1];
  42.                 arr[j+1]=x;
  43.             }
  44. }
  45.  
  46. int main()
  47. {
  48.     string x;
  49.     ifstream fin;
  50.     int arr[100005],i=0,cnt=0;
  51.     fin.open("input.txt");
  52.     while(!fin.eof())
  53.     {
  54.         fin>>x;
  55.         int n=stoi(x);
  56.         arr[i++]=n;
  57.         cnt++;
  58.  
  59.     }
  60.  
  61.     for(int p=10000; p<=50000; p=p+10000)
  62.     {
  63.         cout<<"Number of data : "<<p<<endl;
  64.         clock_t start = clock();
  65.         counting_sort(arr,p);
  66.         printf("Using Counting Sort = %0.5fms\n", (float)(clock() - start) / CLOCKS_PER_SEC);
  67.         clock_t start2 = clock();
  68.         bubble_sort(arr,p);
  69.         printf("Using Bubble Sort = %0.5fms\n", (float)(clock() - start2) / CLOCKS_PER_SEC);
  70.         cout<<endl;
  71.     }
  72.  
  73. }
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement