Cod sursa(job #1546519)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 8 decembrie 2015 10:02:04
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
using namespace std;

typedef struct nod* arbore;

struct nod {
	int val;
	arbore st = 0, dr = 0;
};

void adauga(int val, arbore n) {
	if (n->val >= val) {
		if (n->st == 0) {
			n->st = new nod;
			(n->st)->val = val;
		}
		else {
			adauga(val, n->st);
		}
	}
	else {
		if (n->dr == 0) {
			n->dr = new nod;
			(n->dr)->val = val;
		}
		else {
			adauga(val, n->dr);
		}
	}
}

ofstream out("algsort.out");

void inordine(arbore n) {
	if (n->st != 0) {
		inordine(n->st);
	}
	out << n->val << ' ';
	if (n->dr != 0) {
		inordine(n->dr);
	}
}

int main() {
	ifstream in("algsort.in");
	int n, cit;
	in >> n >> cit;
	arbore r = new nod;
	r->val = cit;
	while (--n) {
		in >> cit;
		adauga(cit, r);
	}
	inordine(r);
}