本文共 787 字,大约阅读时间需要 2 分钟。
二叉树先序、后序、中序遍历非递归版本请参照:
深度优先遍历:
int bitreeDeepOrder(bitreeNode * root){ stack广度优先遍历:st; st.push(root); //printf("%d,", root->value); do { root = st.top(); st.pop(); printf("%d,", root->value); if(root->right) st.push(root->right); if(root->left) st.push(root->left); if(st.empty()) break; }while(1); return 0;}
int bitreeWideOrder(bitreeNode * root){ queue实验:qu; qu.push(root); //printf("%d,", root->value); do { root = qu.front(); qu.pop(); printf("%d,", root->value); if(root->left) qu.push(root->left); if(root->right) qu.push(root->right); if(qu.empty()) break; }while(1); return 0;}
#define BITREE_SIZE 10int _tmain(int argc, _TCHAR* argv[]){ bitreeNode * root = (bitreeNode *)malloc(sizeof(bitreeNode) * BITREE_SIZE); for(int i=0; i
转载地址:http://qoyni.baihongyu.com/