chúng ta cần phải thiết kế một số chương trình con
chúng ta cần phải thiết kế một số chương trình con
sau:
sau:
Tạo cây rỗng MAKENULL_TREE(T) Tạo cây rỗng MAKENULL_TREE(T)
32void READTREE(Tree& T){ void READTREE(Tree& T){ void READTREE(Tree& T){ int i; int i; MAKENULL_TREE(T); MAKENULL_TREE(T);
//Nhập số nút của cây cho đến khi số nút nhập vào là hợp lệ
//Nhập số nút của cây cho đến khi số nút nhập vào là hợp lệ
do {
do {
printf("Cay co bao nhieu nut?");
printf("Cay co bao nhieu nut?");
scanf("%d",&T.MaxNode);
scanf("%d",&T.MaxNode);
} while ((T.MaxNode<1) || (T.MaxNode>MAXLENGTH));
} while ((T.MaxNode<1) || (T.MaxNode>MAXLENGTH));
printf("Nhap nhan cua nut goc ");
printf("Nhap nhan cua nut goc ");
fflush(stdin);
fflush(stdin);
scanf("%c",&T.Data[0]);
scanf("%c",&T.Data[0]);
T.Parent[0]=NULL; /* nut goc khong co cha */
T.Parent[0]=NULL; /* nut goc khong co cha */
for (i=1;i<=T.MaxNode-1;i++){
for (i=1;i<=T.MaxNode-1;i++){
printf("Nhap cha cua nut %d ",i);
printf("Nhap cha cua nut %d ",i);
scanf("%d",&T.Parent[i]);
scanf("%d",&T.Parent[i]);
printf("Nhap nhan cua nut %d ",i);
printf("Nhap nhan cua nut %d ",i);
fflush(stdin); fflush(stdin); scanf("%c",&T.Data[i]); scanf("%c",&T.Data[i]); } } } }
33
Chương trình chính để thực hiện yêu cầu đề bài như sau:Chương trình chính để thực hiện yêu cầu đề bài như sau:
void main(){
printf("Nhap du lieu cho cay tong quat\n"); READTREE(T);
printf("Danh sach duyet tien tu cua cay vua nhap la\n"); PreOrder(ROOT(T),T);
printf("\nDanh sach duyet trung tu cua cay vua nhap la\n"); InOrder(ROOT(T),T);
printf("\nDanh sach duyet hau tu cua cay vua nhap la\n"); PosOrder(ROOT(T),T);
getch(); }
34
Nhap du lieu cho cay tong quatNhap du lieu cho cay tong quat
Cay co bao nhieu nut?10Cay co bao nhieu nut?10
Nhap nhan cua nut goc ANhap nhan cua nut goc A
Nhap cha cua nut 1 0Nhap cha cua nut 1 0
Nhap nhan cua nut 1 BNhap nhan cua nut 1 B
Nhap cha cua nut 2 0Nhap cha cua nut 2 0
Nhap nhan cua nut 2 CNhap nhan cua nut 2 C
Nhap cha cua nut 3 1Nhap cha cua nut 3 1
Nhap nhan cua nut 3 DNhap nhan cua nut 3 D
Nhap cha cua nut 4 1Nhap cha cua nut 4 1
Nhap nhan cua nut 4 ENhap nhan cua nut 4 E
Nhap cha cua nut 5 4Nhap cha cua nut 5 4
Nhap nhan cua nut 5 FNhap nhan cua nut 5 F
Nhap cha cua nut 6 4Nhap cha cua nut 6 4
Nhap nhan cua nut 6 GNhap nhan cua nut 6 G
Nhap cha cua nut 7 4Nhap cha cua nut 7 4
Nhap nhan cua nut 7 HNhap nhan cua nut 7 H
Nhap cha cua nut 8 2Nhap cha cua nut 8 2
Nhap nhan cua nut 8 INhap nhan cua nut 8 I
Nhap cha cua nut 9 2Nhap cha cua nut 9 2
Nhap nhan cua nut 9 JNhap nhan cua nut 9 J
Danh sach duyet tien tu cua cay Danh sach duyet tien tu cua cay vua nhap la
vua nhap la
A B D E F G H C I JA B D E F G H C I J
Danh sach duyet trung tu cua cay Danh sach duyet trung tu cua cay vua nhap la
vua nhap la
D B F E G H A I C JD B F E G H A I C J
Danh sach duyet hau tu cua cay Danh sach duyet hau tu cua cay vua nhap la
vua nhap la
35