数据结构:树形结构完整代码,各种遍历方法,直接能跑.docVIP

  • 8
  • 0
  • 约8.98千字
  • 约 11页
  • 2018-05-26 发布于河南
  • 举报

数据结构:树形结构完整代码,各种遍历方法,直接能跑.doc

数据结构:树形结构完整代码,各种遍历方法,直接能跑

#include stdio.h #include stdlib.h #define TElemType int typedef struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; typedef BiTree DataType; typedef struct queuenode{ DataType data; struct queuenode *next; } QueueNode; //LINKQUEUE //HEAD POINTER, AND REAR POINTER ARE AVALIBALE typedef struct { QueueNode *front; QueueNode *rear; } LinkQueue; int InitQueue(LinkQueue *Q); int DestroyQueue(LinkQueue *Q); int QueueEmpty(LinkQueue Q); int EnQueue(LinkQueue *Q, DataType e); DataType DeQueue(LinkQueue *Q); int CreateBiTree(BiTree *T); int PreOrderTraverse(BiTree T, int (*visit)(TElemType e)); int PreOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int InOrderTraverse(BiTree T, int (*visit)(TElemType e)); int InOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int PostOrderTraverse(BiTree T, int (*visit)(TElemType e)); int PostOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int LevelOrderTraverse(BiTree T, int (*visit)(TElemType e)); int printElem(TElemType e); int InitBiTree(BiTree *T); int DestroyBiTree(BiTree *T); int ClearBiTree(BiTree *T); int BiTreeEmpty(BiTree T); int BiTreeDepth(BiTree T); BiTNode *Parent(BiTree T, BiTNode *e); BiTNode *LeftChild(BiTree T, BiTNode *e); BiTNode *RightChild(BiTree T, BiTNode *e); BiTNode *LeftSibling(BiTree T, BiTNode *e); BiTNode *RightSibling(BiTree T, BiTNode *e); int InsertChild(BiTree T, BiTNode *p, int LR, BiTree C); int DeleteChild(BiTree T, BiTNode *p, int LR); int CountLeaf(BiTree T); int CreateBiTreeByPreInOrder(BiTree *T, int preorder[], int *idx, int inorder[], int low, int high, int length); int main() { BiTree bitree,bitree2; InitBiTree(bitree); InitBiTree(bitree2); printf(input tree 1:\n); CreateBiTree2(bitree); printf(PreOrderTraverse:\n); PreOrderTraverse(bitree, printElem); printf(\n); printf(InOrderTraverse:\n); InOrderTraverse(bitree, printElem); printf(\n); printf(PostOrderTraverse:\n);

文档评论(0)

1亿VIP精品文档

相关文档