Example #1
0
DisjointSets::DisjointSets(int count)
{
	m_nodes.reserve(500);
	m_numElements = 0;
	m_numSets = 0;
	AddElements(count);
}
Example #2
0
struct Firm* AddList(struct Firm *head, struct Firm *Ehead)
{
    struct Firm *ptr = NULL;
    struct Firm *curr = head;
    struct Firm *Etmp = Ehead->next;

    if(Etmp->next == NULL)
    {
        Ehead = AddElements(Ehead);
    }
    if(head == NULL)
    {
        ptr = Etmp;
        Ehead->next = Etmp->next;
        ptr = VuvejdaneSpisuk(ptr);
        if(ptr == NULL)
        {
            return NULL;
        }
        head = ptr;
        head->next = NULL;
        return head;
    }

    if(head->next == NULL)
    {
        ptr = Etmp;
        Ehead->next = Etmp->next;
        ptr = VuvejdaneSpisuk(ptr);
        if(ptr == NULL)
        {
            return NULL;
        }
        ptr->next = NULL;
        head->next = ptr;
        return head;
    }
    else
    {
        while(curr->next != NULL)
        {
            curr = curr->next;
        }
        ptr = Etmp;
        Ehead->next = Etmp->next;
        ptr = VuvejdaneSpisuk(ptr);
        if(ptr == NULL)
        {
            return NULL;
        }
        ptr->next = NULL;
        curr->next = ptr;
        return head;
    }
    return NULL;
}
DisjointSets::DisjointSets(int count)
{
	m_numElements = 0;
	m_numSets = 0;
	AddElements(count);
}