Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

cay

Cây

#include <stdio.h>

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

// moi nut gom data va node

typedef struct DATA

{

int key;

}DATA;

typedef struct pNODE

{

DATA info;

pNODE *pLeft,*pRight;

}NODE;

typedef NODE * TREE;

//Khoi Tao

Void IniTree(Nodeptr &root)

{

Root =null;

}

// kiem tra rong

Int IsEmpty(Nodeptr root)

{

If(root==null)

Return 1;

Else return 0;

}

//tao nut

Nodeptr GetNode(int x)

{

Nodeptr P=new Node;

P->data=x;

P->left =null;

P->right=null;

Return P;

}

int DemNutLa(TREE t) // tinh so nut la cua cay

{

if(t)

{

if(t->pLeft == NULL && t->pRight == NULL)

return 1;

else

return DemNutLa(t->pLeft)+DemNutLa(t->pRight);

}

else

return 0;

}

int DemNutLaCay(TREE t)

{

if(t = NULL)

{

return 0;

}

else

{

int NL = DemNutLaCay(t->pLeft);

int NR = DemNutLaCay(t->pRight);

return (NL+NR+1);

}

}

typedef struct DATA1

{

int key;

}DATA;

typedef struct tNode

{

DATA info;

tNode*pleft,*pright;

}Node;

typedef Node * Tree;

int DemNutLa(Tree tr)

{

if(tr== NULL)

{

return 0;

}

else

{

int NL = DemNutLa(tr->pleft);

int NR = DemNutLa(tr->pright);

return(NL+NR+1);

}

}

//Them nut vao cay

Int Ins (pNode &r, int k)

{

if (!r)//r==NULL

{

pNode p = new Node;

p -> key = k;

p -> left = p -> right = NULL;

r = p;

return 1;

}

if (r -> key == k)return 0;

if (r -> key > k) return Ins (r->left,k);

else     return Ins (r->right,k);

}

Int Insert (Tree &t,int K)

{

Return Insert (t.root,k);

}

//Tim khoa co trong cay hay khong

int Search(pNode r,int k)

{ if (!r)   return 0;

if (r->key == k) return 1;

if (r->key > k)

return Search(r->left,k);

else

return Search(r->right,k);

}

int Search(Tree t,int k)

{

return Search(t.root,k);

}

//Duyet cay

void LNR (pNode r)

{

if (!r)

return;

lnr(r->left);

cout<<r->key<<" ";

lnr(r->right);

}

void LNR(Tree t)

{

LNR(t.root);

}

//Tao cay

Void CreateTree (Tree &t)

{

int k;

do

{

cout<<"Nhap nut can them: “;cin>>k;

if (k!=-1)

if (Insert(t,k))

cout<<"Thanh cong"<<endl;

else

cout<<"Nut da co trong cay"<<endl;

}while (k!=-1);

}

Bạn đang đọc truyện trên: Truyen2U.Com

Tags: