-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheqgrnode.h
80 lines (51 loc) · 1.29 KB
/
eqgrnode.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef _EQGRNODE_H
#define _EQGRNODE_H
#include <iostream>
#include <stdio.h>
class EqGrNode {
friend ostream &operator << (ostream &, EqGrNode &);
public:
EqGrNode(int);
~EqGrNode();
int getflg(){return theFlg;};
void setflg(int val){theFlg=val;};
int * elements(){return theElements;};
int num_elements(){return numElements;};
void add_element(int el, int pos){theElements[pos] = el;};
int get_element(int pos){return theElements[pos];};
void remove_el(int);
private:
int *theElements;
int numElements;
int theFlg; //indicates if class is in memory
};
// constructor
EqGrNode::EqGrNode(int sz)
{
numElements = sz;
theElements = new int[sz];
theFlg = 0;
}
EqGrNode::~EqGrNode()
{
delete [] theElements;
theElements = NULL;
theFlg = 0;
}
inline void EqGrNode::remove_el(int pos)
{
for (int i=pos; i < numElements-1; i++)
theElements[i] = theElements[i+1];
numElements--;
}
ostream &operator << (ostream &outputStream, EqGrNode &EQ)
{
cout << "ELEMENTS : ";
for (int i = 0; i < EQ.numElements; i++){
cout << EQ.theElements[i] << " ";
}
cout << "(" << EQ.numElements << ")";
cout << endl;
return outputStream;
}
#endif