binary_tree

本次提交主要实现层遍历

Co-Authored-By: Jdhggg <111557398+Jdhggg@users.noreply.github.com>
This commit is contained in:
Jdhggg 2025-04-29 22:39:05 +08:00
parent ab8a54af3a
commit 3baf08ba4e
3 changed files with 11 additions and 1 deletions

View File

@ -21,6 +21,7 @@
<ItemGroup> <ItemGroup>
<ClCompile Include="array_queue.c" /> <ClCompile Include="array_queue.c" />
<ClCompile Include="array_stack.c" /> <ClCompile Include="array_stack.c" />
<ClCompile Include="binary_tree.c" />
<ClCompile Include="linked_list.c" /> <ClCompile Include="linked_list.c" />
<ClCompile Include="linked_list_stack.c" /> <ClCompile Include="linked_list_stack.c" />
<ClCompile Include="linked_queue.c" /> <ClCompile Include="linked_queue.c" />
@ -30,6 +31,7 @@
<ItemGroup> <ItemGroup>
<ClInclude Include="array_queue.h" /> <ClInclude Include="array_queue.h" />
<ClInclude Include="array_stack.h" /> <ClInclude Include="array_stack.h" />
<ClInclude Include="binary_tree.h" />
<ClInclude Include="linked_list.h" /> <ClInclude Include="linked_list.h" />
<ClInclude Include="linked_list_stack.h" /> <ClInclude Include="linked_list_stack.h" />
<ClInclude Include="linked_queue.h" /> <ClInclude Include="linked_queue.h" />

View File

@ -36,6 +36,9 @@
<ClCompile Include="linked_queue.c"> <ClCompile Include="linked_queue.c">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="binary_tree.c">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="sq_list.h"> <ClInclude Include="sq_list.h">
@ -56,5 +59,8 @@
<ClInclude Include="linked_queue.h"> <ClInclude Include="linked_queue.h">
<Filter>头文件</Filter> <Filter>头文件</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="binary_tree.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -41,7 +41,8 @@ void traverse_tree(tree_node *roots)
printf("error: roots is NULL\n"); printf("error: roots is NULL\n");
return; return;
} }
while(roots) printf("%d\n", roots->value);
while(roots ->left != NULL && roots -> right != NULL)
{ {
tree_node *temp[2] = {roots->left,roots->right}; tree_node *temp[2] = {roots->left,roots->right};
for (int i = 0;i<2;i++) for (int i = 0;i<2;i++)
@ -53,6 +54,7 @@ void traverse_tree(tree_node *roots)
printf("%d ",temp[i]->value); printf("%d ",temp[i]->value);
} }
} }
printf("\n");
roots = queue[front]; roots = queue[front];
front = (front+1) % 3; front = (front+1) % 3;
} }