

// SORTEDARRAY.CC


#include "sortedarray.h"


void SortedArray::InitializeFromFile()
     { 
       char tempchar;
       int i,j;

       ifstream infile("input");;
       loIndex=0;
       hiIndex=-1;

       while(infile)
          {
           hiIndex++;
           for (i = 0; i < CHROMLENGTH; i++)
             {
               infile.get(tempchar);
               if(tempchar == '0')
                 everyone[hiIndex].chromosome[i] = FALSE;
                 else everyone[hiIndex].chromosome[i] = TRUE;
             };
               infile.get(tempchar);
           };
        hiIndex--;
       };

void SortedArray::printEveryone()
     { 
       int j;
       for(j=loIndex; j <= hiIndex; j++)
          {
            everyone[j].printchrom();
            cout << "\n";
          };
     };


boolean SortedArray::Empty()
    {
      if(loIndex >  hiIndex)
         return TRUE;
         else return FALSE;;
    };

int SortedArray::totalnumber()
    {
     cout << "\n" << "Current number of chromosomes stored:  " << hiIndex+1 << ". \n";
    };

boolean SortedArray::Member(Individual indi)   //  Linear search of array.
    {
     int i=0; 
     while( i <= hiIndex)
        {
          if(indi.equal(everyone[i]))
             return(TRUE);
             else i++;
        };
     return(FALSE);
};

int SortedArray::IndexOf(Individual indi)      // Linear search of array.
    {
     int i=0; 
     while( i <= hiIndex)
        {
          if(indi.equal(everyone[i]))
             return(i);
             else i++;
        };
     return(-1);
};

