Professional Documents
Culture Documents
Arbori
Arbori
int main()
{
rad=(nod*)malloc(sizeof(el));
cin>>rad->nr;
rad->st=NULL;
rad->dr=NULL;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->st=NULL;
aux->dr=NULL;
rad->st=aux;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->st=NULL;
aux->dr=NULL;
rad->dr=aux;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->st=NULL;
aux->dr=NULL;
rad->dr->st=aux;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->st=NULL;
aux->dr=NULL;
rad->dr->dr=aux;
SRD(rad);
getch();
2.Arbore de cautare
#include<iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std ;
void SDR(nod*element){
if(element!=NULL){
SDR(element->st);
SDR(element->dr);
cout<<element->nr<<" ";}}
else {
aux2=cauta_poz(rad,x);
aux=(nod*)malloc(sizeof(el));
aux->nr=x;
aux->st=aux->dr=NULL;
if(aux->nr<aux2->nr)aux2->st=aux;
else aux2->dr=aux;}}
int main()
{
int i,x;
for(i=1;i<6;i++)
{
cin>>x;
inserare(x);
}
RSD(rad);
cout<<endl;
SRD(rad);
cout<<endl;
SDR(rad);
cout<<endl;
getch();
}
3.pargcurgere adancime
#include<iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std;
struct nod{int nr,nd;nod*desc[10];}*rad,*aux,el;
void parc_adancime(nod*element){
int i;
cout<<element->nr<<" ";
for(i=0;i<element->nd;i++)
parc_adancime(element->desc[i]);
}
void parc_latime(){
int poz=0,final=0,i;
nod*v[20];
v[0]=rad;
while(poz<=final){
for(i=0;i<v[poz]->nd;i++){
final++;
v[final]=v[poz]->desc[i];}
poz++;}
for(i=0;i<=final;i++)cout<<v[i]->nr<<" ";
rad=(nod*)malloc(sizeof(el));
cin>>rad->nr;
rad->nd=0;
for(i=0;i<10;i++)
rad->desc[i]=NULL;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[0]=aux;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]=aux;;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[2]=aux;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[0]=aux;
rad->desc[1]->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[1]=aux;
rad->desc[1]->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[1]->desc[0]=aux;
rad->desc[1]->desc[1]->nd++;
parc_adancime(rad);
cout<<endl;
parc_latime();
getch();
4. parcurgere latime
#include<iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std;
struct nod{int nr,nd;nod*desc[10];}*rad,*aux,el;
void parc_adancime(nod*element){
int i;
cout<<element->nr<<" ";
for(i=0;i<element->nd;i++)
parc_adancime(element->desc[i]);
}
void parc_latime(){
int poz=0,final=0,i;
nod*v[20];
v[0]=rad;
while(poz<=final){
for(i=0;i<v[poz]->nd;i++){
final++;
v[final]=v[poz]->desc[i];}
poz++;}
for(i=0;i<=final;i++)cout<<v[i]->nr<<" ";
rad=(nod*)malloc(sizeof(el));
cin>>rad->nr;
rad->nd=0;
for(i=0;i<10;i++)
rad->desc[i]=NULL;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[0]=aux;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]=aux;;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[2]=aux;
rad->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[0]=aux;
rad->desc[1]->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[1]=aux;
rad->desc[1]->nd++;
aux=(nod*)malloc(sizeof(el));
cin>>aux->nr;
aux->nd=0;
for(i=0;i<10;i++)
aux->desc[i]=NULL;
rad->desc[1]->desc[1]->desc[0]=aux;
rad->desc[1]->desc[1]->nd++;
parc_adancime(rad);
cout<<endl;
parc_latime();
getch();