Pagini recente » Cod sursa (job #2768103) | Cod sursa (job #440795) | Cod sursa (job #2118472) | Cod sursa (job #799752) | Cod sursa (job #775012)
Cod sursa(job #775012)
#include<iostream>
#include<fstream>
using namespace std;
typedef struct nod_ABC *ptr_ABC;
struct nod_ABC
{
int cheie;
int pozitie;
ptr_ABC st;
ptr_ABC dr;
};
ptr_ABC radacina;
int n,i,x;
ifstream fin ("schi.in");
ofstream fout("schi.out");
ptr_ABC inserare ( ptr_ABC p, int x, int nr)
{
int poz=nr;
if(!p)
{
p= new nod_ABC;
p->cheie=x;
p->pozitie=1;
p->st=p->dr=NULL;
}
else
if(poz <= p->pozitie)
{
(p->pozitie)++;
p ->st =inserare(p->st,x,poz);
}
else
if (poz > p->pozitie)
{
poz=poz-p->pozitie;
p->dr=inserare(p->dr,x,poz);
}
return p;
}
void parcurgere_inordine( ptr_ABC p)
{
if(p)
{
parcurgere_inordine(p->st);
fout<<p->cheie<<"\n";
parcurgere_inordine(p->dr);
}
}
int main()
{
fin>>n;
cout<<n;
for(i=1;i<=n;i++)
{
fin>>x;
radacina=inserare(radacina,i,x);
}
parcurgere_inordine(radacina);
return 0;
}