资源简介
C语言采用邻接表结构实现克鲁斯卡尔算法。
也可以在相应github上下载,https://github.com/Sunnk/Data-Structure,其中Kruskal文件夹中即为克鲁斯卡尔算法,可用vs打开

代码片段和文件信息
#include “binarytree.h“
/** \brief This function visit each node of the binary tree in a preorder traversal
* 1.visit the node; 2.traverse the left subtree; 3.traverse the right subtree
*
* \param root: pointer to the root node of the binary tree
* \param visit_func: pointer to the function to call for each node visited
* \param user_data: user data to pass to the function
* \return none
*
*/
//前序遍历二叉树,遍历过程中,调用访问函数visit_func访问节点内部数据元素。
//参数user_data作为访问函数visit_func的传入参数,可以携带内容,丰富访问操作。若弃用,则传入NULL。
void btree_traverse_preorder(BTNode *root VisitFunc visit_func void *user_data)
{
#ifdef USING_RECURSION
if(root == NULL) return;
if(visit_func){
visit_func(root user_data);
}
btree_traverse_preorder(root->left_child visit_func user_data);
btree_traverse_preorder(root->right_child visit_func user_data);
#else
BTNode *current_node;
Stack *stack;
if(root == NULL) return;
stack = stack_create();
stack_push(stack root);
while(stack_pop(stack (void **)¤t_node) == RET_OK){
if(current_node->right_child){
stack_push(stack current_node->right_child);
}
if(current_node->left_child){
stack_push(stack current_node->left_child);
}
if(visit_func){
visit_func(current_node user_data);
}
}
stack_destroy(stack);
#endif
}
/** \brief This function visit each node of the binary tree in a inorder traversal
* 1.traverse the left subtree; 2.visit the node; 3.traverse the right subtree
*
* \param root: pointer to the root node of the binary tree
* \param visit_func: pointer to the function to call for each node visited
* \param user_data: user data to pass to the function
* \return none
*
*/
//中序遍历二叉树,遍历过程中,调用访问函数visit_func访问节点内部数据元素。
//参数user_data作为访问函数visit_func的传入参数,可以携带内容,丰富访问操作。若弃用,则传入NULL。
void btree_traverse_inorder(BTNode *root VisitFunc visit_func void *user_data)
{
#ifdef USING_RECURSION
if(root == NULL) return;
btree_traverse_inorder(root->left_child visit_func user_data);
if(visit_func){
visit_func(root user_data);
}
btree_traverse_inorder(root->right_child visit_func user_data);
#else
BTNode *current_node;
Stack *stack;
if(root == NULL) return;
stack = stack_create();
current_node = root;
while(current_node != NULL || stack_count_depth(stack) > 0){
if(current_node != NULL){
stack_push(stack current_node);
current_node = current_node->left_child;
}else{
stack_pop(stack (void **)¤t_node);
if(visit_func){
visit_func(current_node user_data);
}
current_node = current_node->right_child;
}
}
stack_destroy(stack);
#endif // USING_RECURSION
}
/** \brief This function visit each node of the binary tree in
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-27 15:05 .vs\
目录 0 2018-12-27 15:05 .vs\Kruskal\
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\
文件 65024 2018-12-10 16:34 .vs\Kruskal\v15\.suo
文件 2043904 2018-12-10 16:34 .vs\Kruskal\v15\Browse.VC.db
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\21ef5de3d1fdf1c2\
文件 1966080 2018-12-10 16:32 .vs\Kruskal\v15\ipch\AutoPCH\21ef5de3d1fdf1c2\MAIN.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\6b6f05537c908cbd\
文件 3538944 2018-12-06 15:53 .vs\Kruskal\v15\ipch\AutoPCH\6b6f05537c908cbd\GRAPH.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\6b8d9b537caa892e\
文件 2293760 2018-12-05 10:22 .vs\Kruskal\v15\ipch\AutoPCH\6b8d9b537caa892e\GRAPH.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\9beb1942cf6d9de8\
文件 3604480 2018-12-05 18:01 .vs\Kruskal\v15\ipch\AutoPCH\9beb1942cf6d9de8\BINARYTREE.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\c946e4776ea78650\
文件 3538944 2018-12-05 23:20 .vs\Kruskal\v15\ipch\AutoPCH\c946e4776ea78650\SLIST.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\c966f9fc9907b8f8\
文件 3604480 2018-12-05 23:20 .vs\Kruskal\v15\ipch\AutoPCH\c966f9fc9907b8f8\QUEUE.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\e81562c6613ea037\
文件 3604480 2018-12-05 23:16 .vs\Kruskal\v15\ipch\AutoPCH\e81562c6613ea037\STACK.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\ef333eb252170370\
文件 3604480 2018-12-10 16:32 .vs\Kruskal\v15\ipch\AutoPCH\ef333eb252170370\KRUSKAL.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v15\ipch\AutoPCH\ef58a0b25236c633\
文件 4390912 2018-12-05 16:14 .vs\Kruskal\v15\ipch\AutoPCH\ef58a0b25236c633\KRUSKAL.ipch
目录 0 2018-12-27 15:05 .vs\Kruskal\v16\
文件 64000 2018-12-27 13:44 .vs\Kruskal\v16\.suo
目录 0 2018-12-27 15:05 .vs\Kruskal\v16\Preview\
文件 2043904 2018-12-27 13:44 .vs\Kruskal\v16\Preview\Browse.VC.db
目录 0 2018-12-27 15:05 .vs\Kruskal\v16\Preview\ipch\
目录 0 2018-12-27 15:05 .vs\Kruskal\v16\Preview\ipch\AutoPCH\
............此处省略45个文件信息
相关资源
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- C++纯文字DOS超小RPG游戏
- 个人日常财务管理系统(C语言)
- MFC数字钟(基于VC6.0)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- 安科瑞智能电能表MODBUS通讯程序 VC6
- C语言实现的一个内存泄漏检测程序
评论
共有 条评论