1
CS 2200 - EXAM 3
Fall 2000
100 Points
int doit()
{
for (int i=0; i < MAX;i++)
{ int ct = 0;
for (int j=0;j < MAX;j++)
if (i!=j)
if (isArc[i][j] || isArc[j][i]) ct++;
if (ct ==0) return i;
}
return -1;
}
class arc
{ int node1;
int node2;
int weight;
arc * next;
}
class node
{ arc * adj; // head pointer for the adjacency list
boolean visited;
int color;
}
class graph{
int size; // the actual number of nodes in the graph
node n[MAX];
}
enum weight {TOOLEFT=-2, HEAVYLEFT, EQUAL, HEAVYRIGHT, TOORIGHT};
void doit( AvlNode * & k2 )
{
AvlNode *k1 = k2->Right;
k2->Right = k1->Left;
k1->Left = k2;
k2->wght = EQUAL;
k1->wght = EQUAL;
if(k2->Right == NULL)
k2->wght = (weight)((k2->wght)-1);
if(k2->Left == NULL)
k2->wght = (weight)((k2->wght)+1);
k2 = k1;
}