Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. 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: Truyen247.Pro

Tags: