DisjointSets::DisjointSets(int count) { m_nodes.reserve(500); m_numElements = 0; m_numSets = 0; AddElements(count); }
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); }