⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.h

📁 多任务下的数据结构与算法的源码
💻 H
字号:
/*
 * Copyright (c) 2000-2008
 * Author: Weiming Zhou
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  
 */

#ifndef __TREE_H__
#define __TREE_H__


typedef struct TREE_st {
    DOUBLELIST    * pLeafList;
    DOUBLELIST    * pSubTreeList;
    void          *pProperties;
} TREE, *LPTREE;


typedef int    (*COMPAREFUNC)( void *prop1, void *prop2 );


// Initialize and destroy functions
TREE *  Tree_Create();

void    Tree_Destroy( 
             TREE * pTree, 
             DESTROYFUNC LeafDestroyFunc, 
             DESTROYFUNC PropDestroyFunc );

// Leaf functions
int     Tree_AddLeaf(TREE * pTree, void *pLeafData);
int     Tree_RemoveLeaf(TREE * pTree, 
                        void *pLeafData, 
                        DESTROYFUNC LeafDestroyFunc);

// Properties functions
int     Tree_SetProperties(TREE * pTree, 
                           void * pProperties, 
                           DESTROYFUNC PropDestroyFunc);

void *  Tree_GetProperties(TREE * pTree);

// Sub pTree functions
int     Tree_AddSubTree(TREE * pTree, TREE * sub);

int     Tree_RemoveSubTree(
               TREE * pTree, 
               TREE * sub, 
               DESTROYFUNC leaffunc,
               DESTROYFUNC propfunc );

// Copy function
TREE *    Tree_Copy(
              TREE * pTree,
              COPYFUNC LeafCopyFunc, 
              COPYFUNC PropCopyFunc );

// Search functions
TREE *    Tree_FindSubTreeByProp(
              TREE  * pTree,
              void  * pProperties,
              COMPAREFUNC   CompareFunc
              );

#endif  //__TREE_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -