Đâ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;
}
0 nhận xét:
Đăng nhận xét