Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- void counting_sort(int arr[],int cnt)
- {
- int n=cnt;
- int x = arr[0];
- vector<int>v;
- int y=10000000;
- int countpos[100005];
- for(int i=1; i<=n; i++)
- {
- if(arr[i]>x)
- x=arr[i];
- if(arr[i]<y)
- y=arr[i];
- }
- int freq[x+1]= {0};
- for(int i=0; i<n; i++)
- {
- freq[arr[i]]++;
- }
- for(int i=y; i<=x; i++)
- {
- while(freq[i]--)
- {
- v.push_back(i);
- }
- }
- v.clear();
- }
- void bubble_sort(int arr[], int n)
- {
- int i, j,x;
- for (i = 0; i < n-1; i++)
- for (j = 0; j < n-i-1; j++)
- if (arr[j] > arr[j+1])
- {
- x=arr[j];
- arr[j]=arr[j+1];
- arr[j+1]=x;
- }
- }
- int main()
- {
- string x;
- ifstream fin;
- int arr[100005],i=0,cnt=0;
- fin.open("input.txt");
- while(!fin.eof())
- {
- fin>>x;
- int n=stoi(x);
- arr[i++]=n;
- cnt++;
- }
- for(int p=10000; p<=50000; p=p+10000)
- {
- cout<<"Number of data : "<<p<<endl;
- clock_t start = clock();
- counting_sort(arr,p);
- printf("Using Counting Sort = %0.5fms\n", (float)(clock() - start) / CLOCKS_PER_SEC);
- clock_t start2 = clock();
- bubble_sort(arr,p);
- printf("Using Bubble Sort = %0.5fms\n", (float)(clock() - start2) / CLOCKS_PER_SEC);
- cout<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement