Pagini recente » Cod sursa (job #1352848) | Cod sursa (job #1099780) | Cod sursa (job #837932) | Cod sursa (job #2532346) | Cod sursa (job #2512080)
#include <fstream>
#include <vector>
using namespace std;
void distribute(int dist, vector<int> &List) {
if (dist > List.size() )
List.resize(dist);
for (int i=0; i < dist; i++)
List[i]++;
}
vector<int> beadSort(int *myints, int n) {
vector<int> list, list2, fifth (myints, myints + n);
for (int i=0; i < fifth.size(); i++)
distribute (fifth[i], list);
for (int i=0; i < list.size(); i++)
distribute (list[i], list2);
return list2;
}
int myints[500000];
int main() {
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,i;
fin>>n;
for(i=0;i<n;i++) fin>>myints[i];
vector<int> sorted = beadSort(myints, sizeof(myints)/sizeof(int));
for(unsigned int i=sorted.size(); i; i--)
fout << sorted[i] << ' ';
}