[C] 875 xuất nút theo thứ tự từ tầng 0 đến h-1
Tác giả:
- Trần Hán Huy – tranhanhuy.wordpress.com
Sách:
- Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang
Đề bài
- 875* Viết hàm xuất các nút trên cây theo thứ tự từ tầng 0 đến tầng h-1 của cây (h là chiều cao cây)
Code
/*Nick yahoo: conloyal*/ /*Soft: visual studio 2008*/ //875* Viết hàm xuất các nút trên cây theo thứ tự tầng 0 đến tầng h-1 của cây (với h là chiều cao của cây) int ChieuCaoCay(Tree c) { if (c == NULL) return 0; int a = ChieuCaoCay(c->pLeft); int b = ChieuCaoCay(c->pRight); int max = (a>b)?a:b; return 1 + max; } void XuatTheoTangK(Tree c, int k) { if (c!=NULL) { k--; if (c->pLeft != NULL) XuatTheoTangK(c->pLeft,k); if (k==0) printf(\"%4d\", c->iX); if (c->pRight != NULL) XuatTheoTangK(c->pRight,k); } } void Xuat(Tree c) { int h = ChieuCaoCay(c); printf (\"\nChieu cao cay: %d\",h); for (int i=0; i<=h-1; i++) { printf(\"\n tang %d :\", i); XuatTheoTangK(c,i+1); } }
Link source: