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

📄 5_1_4 树的编码实现 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.htm

📁 主要介绍了多任务下面的一些数据结构和算法,比如树和图的一些遍历
💻 HTM
📖 第 1 页 / 共 5 页
字号:
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">CAPI_SUCCESS</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示成功</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">*/</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">INT Tree_RemoveLeaf(&nbsp; TREE *pTree, void *pLeafData, 
</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
DESTROYFUNC LeafDestroyFunc)</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">{</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pTree == 
NULL )</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return CAPI_FAILED</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
DoubleList_Remove(pTree-&gt;pLeafList, pLeafData, LeafDestroyFunc)</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">}</SPAN></P>
<P class=4 style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US>/**&nbsp;&nbsp; 
</SPAN><SPAN style="FONT-FAMILY: 华康简宋">树的设置属性函数</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param&nbsp; 
TREE *pTree</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">树指针</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param void 
*pProperties</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">属性指针</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param 
DESTROYFUNC PropDestroyFunc</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">属性释放函数</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @return&nbsp; 
INT</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">CAPI_FAILE</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示失败</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">CAPI_SUCCESS</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示成功</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">*/</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">INT Tree_SetProperties(&nbsp; TREE *pTree, void 
*pProperties,</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
DESTROYFUNC PropDestroyFunc)</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">{</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pTree == 
NULL )</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return CAPI_FAILED</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 
</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">如果原来已经设置了属性则需要将其释放以防止内存泄漏</SPAN><SPAN 
lang=EN-US style="FONT-SIZE: 9pt"> */</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( 
pTree-&gt;pProperties != NULL )</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 13.9pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
PropDestroyFunc( pTree-&gt;pProperties )</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
pTree-&gt;pProperties = pProperties</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
CAPI_SUCCESS</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">}</SPAN></P>
<P class=4><SPAN lang=EN-US>/**&nbsp;&nbsp; </SPAN><SPAN 
style="FONT-FAMILY: 华康简宋">树的获取属性函数</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param&nbsp; 
TREE *pTree</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">树指针</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @return&nbsp; 
void *</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">成功返回属性指针</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">NULL</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示失败或属性为</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">*/</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">void *Tree_GetProperties(TREE *pTree)</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">{</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pTree == 
NULL )</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return NULL</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
pTree-&gt;pProperties</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">}</SPAN></P>
<P class=4><SPAN lang=EN-US>/**&nbsp;&nbsp; </SPAN><SPAN 
style="FONT-FAMILY: 华康简宋">树的增加子树函数</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param&nbsp; 
TREE *pTree</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">树指针</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param&nbsp; 
TREE *pSubTree</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">子树指针</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @return&nbsp; 
INT</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.2pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">CAPI_FAILE</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示失败</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">返回</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">CAPI_SUCCESS</SPAN><SPAN 
style="FONT-SIZE: 9pt; FONT-FAMILY: 华康简宋">表示成功</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">*/</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><STRONG><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">INT Tree_AddSubTree(TREE *pTree, TREE 
*pSubTree)</SPAN></STRONG></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">{</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pTree == 
NULL || pSubTree == NULL )</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></P>
<P class=MsoNormal style="LINE-HEIGHT: 14pt"><SPAN lang=EN-US 
style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

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