1. HOW WOULD I IMPLEMENT IT HERE

class Point
{
public:
Point(): x(0),y(0),value(-1),index(0) PARENT(NULL){}
Point(int xCoordinate, // x coordinate in (x,y)
int yCoordinate // y coordinate in (x,y)
): x(xCoordinate), y(yCoordinate),value(-1),index(0),PARENT(NULL) {}
Point(const Point & rhs): x(rhs.x), y(rhs.y), index(rhs.index),
value(rhs.value) PARENT->RHS->PARENT{}//Copy Constructor

Point & operator =(const Point & rhs);

POINT * PARENT;
int x;
int y;

int index; //place label
int value; //value inside place label
};

iS THIS THE RIGHT WAY

2. I would go with

Code:
```class Point {
public:
int x;
int y;
Point* parent;

Point(int newX, int newY) : x(newX), y(newY) {
parent = NULL;
}
private:
// define private since we shouldn't have to call them
Point& operator=(Point& left, Point& right);
Point(const Point&);
};```

3. thanks i will check that out and talk to you tommorrow thanks

4. How would i do union by size with parent

i would have to do parent->point.value = negative what ever right

5. nick when i create does functions there is conflict because we are use a pointer with a reference

Code:
```Point* DisjSets::findPathcompression( Point & a )
{
if( a.parent  == NULL)
return &a;
else
return a.parent = findPathcompression(a.parent);
}```
i still can get it to work correctly my union sets is wrong

my union set by size is
Code:
```		void DisjSets::unionSets( Point & a, Point & b )
{
int indexA = findPathcompression(a);
int indexB = findPathcompression(b);

if(s[indexA].value < s[indexB].value ||
s[indexA].value == s[indexB].value)
{
s[indexA].value += s[indexB].value;
s[b.index].value = s[indexA].index;
}
else
{
s[indexB].value += s[indexA].value;
s[a.index].value = s[indexB].index;
}

}```
i made the path compression send an int out

Code:
```		int DisjSets::findPathcompression( Point & a )
{
if( a.value < 0 )
return a.index;
else
return s[a.index].value = findPathcompression(s[a.value]);
}```
my = operator is correct
Code:
```Point& Point::operator =(const Point & rhs)
{

rhs.value = index;
return *this;
}```