Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <ctime>
- using namespace std;
- void countingSort(const vector<int> &a, vector<int> &b)//-> include <vector>;
- {
- int k = *max_element(a.begin(), a.end());//-> include <algorithm>;
- k++;
- vector<int> c(k);
- for (int i = 0; i < a.size(); i++)
- c[ a[i] ]++;
- for (int i = 1; i < k; i++)
- c[i] += c[i - 1];
- for (int i = (a.size() - 1); i >= 0; i--)
- {
- b[ c[ a[i] ] - 1 ] = a[i];
- c[ a[i] ]--;
- };
- };
- int main()
- {
- system("COLOR F0");
- srand( time(NULL) );//-> include <ctime>
- vector<int> a;
- for (int i = 0; i < 5; i++)
- {
- int num = rand()% 30 + 1;//-> from 1 to 30;
- a.push_back(num);
- };
- vector<int> b(a.size());
- for (int i = 0; i < a.size(); i++)
- cout << " a [ " << i << " ]\t= " << a[i] << endl;
- cout << endl;
- countingSort(a, b);
- for (int i = 0; i < b.size(); i++)
- cout << " b [ " << i << " ]\t= " << b[i] << endl;
- cout << endl;
- system("PAUSE");
- return (0);
- };
Advertisement
Add Comment
Please, Sign In to add comment