Mong bạn like hoặc +1 để giúp đỡ blog có thể duy trì hoạt động lâu dài
Đây là một bài nâng cao về cây tìm kiếm nhị phân dành cho các bạn đang học môn cấu trúc dữ liệu
Bài liên quan: Cài đặt và sử dụng Code::Blocks 10.05
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <string.h>
typedef struct Node{
int ID;
char* ChucVu;
Node* Left;
Node* Right;
};
typedef Node* Tree;
void MakeNullTree( Tree &T){
T=NULL;
}
Tree Search(int id, Tree T){
if(T==NULL) return NULL;
else if(T->ID == id)
return T;
else if (T->ID < id)
return Search(id,T->Right);
else
return Search(id,T->Left);
}
void InsertNode(int ID,char *ChucVu, Tree &T){
if(T==NULL){
T=(Node*)malloc(sizeof(Node));
T->ID = ID;
T->ChucVu = ChucVu;
T->Left=NULL;
T->Right=NULL;
}
else if (T->ID< ID)
InsertNode(ID,ChucVu,T->Right);
else if (T->ID> ID)
InsertNode(ID,ChucVu,T->Left);
}
void InOrder(Tree T){
if(T!=NULL){
InOrder(T->Left);
printf("(%d,%s) ; ",T->ID,T->ChucVu);
InOrder(T->Right);
}
}
int main(){
Tree T;
MakeNullTree(T);
InsertNode(10,"GD",T);
InsertNode(8,"TP",T);
InsertNode(6,"NV",T);
InsertNode(11,"PGD",T);
InsertNode(15,"Quet don",T);
InsertNode(22,"Bao Ve",T);
InsertNode(16,"Thu ky",T);
InsertNode(21,"Ke toan",T);
InOrder(T);
return 0;
}