Cod sursa(job #972251)

Utilizator roots4Irimia Alexandru Gabriel roots4 Data 11 iulie 2013 12:49:18
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;

struct nod {
	int inf;
	int nr;
	nod *st;
	nod *dr;
};

ifstream fin("algsort.in");
ofstream fout("algsort.out");

void insert(nod *&r,  int v) {
	if (r == NULL) {
		r = new nod;
		r->inf = v; 
		r->nr = 1;
		r->st = r->dr = NULL;
		return;
	}
	if (r->inf == v) {
		r->nr ++;
		return;
	}
	
	if (r->inf > v)
		insert(r->st, v);
	else
		insert(r->dr, v);
}

void srd(nod *r) {
	if (r) {
		srd(r->st);
		for (int i=1;i<=r->nr;i++)
			fout<<r->inf<<" ";
		srd(r->dr);
	}
}

int main() {
	nod *r = NULL;
	int n, x;
	fin>>n;
	for (int i=1;i<=n;i++) {
		fin >>x;
		insert(r,x);
	
	}
	srd(r);
	return 0;
}