ode/src/set.cpp
changeset 0 2f259fa3e83a
equal deleted inserted replaced
-1:000000000000 0:2f259fa3e83a
       
     1 #include "set.h"
       
     2 
       
     3 set::set(){
       
     4 	n = 0;
       
     5 	el = new pair[MAX];
       
     6 }
       
     7 
       
     8 set::~set() {}
       
     9 
       
    10 int set::belongs(pair e){
       
    11 	for (int i = 1; i <= this->n; i++)
       
    12 	  if (el[i].getNum1() == e.getNum1() && el[i].getNum2() == e.getNum2()) return 1;
       
    13 	return 0;
       
    14 }
       
    15 
       
    16 int set::addElem(pair e){
       
    17     if (! this->belongs(e)) 
       
    18 	{
       
    19 		el[++n]=e;
       
    20 		return 1;
       
    21 	}
       
    22 	else return 0;
       
    23 }
       
    24 
       
    25 int set::delElem(pair e){
       
    26 	int p = 0;
       
    27 	int i;
       
    28 	for (i = 1; i <= n; i++)
       
    29 		if (el[i].getNum1() == e.getNum1() && el[i].getNum2() == e.getNum2())  p = i;
       
    30 	if (p) 
       
    31 	{
       
    32 		for (i = p; i < n; i++)
       
    33 			el[i] = el[i+1];
       
    34 		n--;
       
    35 		return 1;
       
    36 	}
       
    37 	else return 0;
       
    38 
       
    39 }
       
    40 
       
    41 int set::length(){
       
    42 	return n;
       
    43 }
       
    44 
       
    45 pair set::getElem(int i){
       
    46 	return el[i];
       
    47 }
       
    48 
       
    49 int set::isEmpty(){
       
    50 	if (this->length() == 0) return 0;
       
    51 	else return 1;
       
    52 }
       
    53 
       
    54 iterator* set::setIterator(){
       
    55 	return new iterator(this);
       
    56 }