回 帖 发 新 帖 刷新版面

主题:[原创]请各位好心的同胞们帮个忙啊!(C语言实现集合的表示与操作算法)

C语言实现集合的表示与操作算法设计
参考;[参考数据类型或变量]
    typedef ElemType int /* 实型或任意其它元素类型 */
    typedef struct {
        ElemType elem;  
        int tag; /* 根节点为负的整数,表示该集合的基数的负值,否则为父节点索引指针 */
    }NODE;
    NODE *set;  /* 用动态存储分配实现集合的树表示与存储 */
[参考子程序接口与功能描述]
    void InitSet(NODE *set)
    功能: 根据集合的基数动态分配存储, 输入各元素, 初始化子集森林.
    int Find(NODE *set, ElemType elem)
    功能: 在数组set中顺序查找元素elem,如果不成功, 返回-1; 否则,使用带压缩规则的查找算法,返回所在子集的根节点索引.
     int Union(NODE *set, ElemType elem1, ElemType elem2)
    功能: 应用Find算法首先找到elem1和elem2所在的子集, 然后应用带加权规则的并运算算法合并两个子集. 不成功时, 返回-1; 否则, 返回并集的根节点索引.
  
  希望各位高手能帮忙!!!小弟感激不尽。[em7][em1][em2][em2][em1][em2]

回复列表 (共1个回复)

沙发

希望各位高手能帮忙了
我只是想让大家给我个思路了
好借鉴大家好的方法和思路

我来回复

您尚未登录,请登录后再回复。点此登录或注册