TFilaR Class Reference

#include <filaR.h>


Detailed Description

Definition at line 7 of file filaR.h.


Public Types

typedef struct Fila_tFila_ptr
typedef struct Item_tItem_ptr

Public Member Functions

void Insere (int, double, long)
int Proximo ()
void Retira (int)
 TFilaR ()
 ~TFilaR ()

Data Fields

Fila_ptr mFila

Member Typedef Documentation

typedef struct Fila_t* TFilaR::Fila_ptr

typedef struct Item_t* TFilaR::Item_ptr


Constructor & Destructor Documentation

TFilaR::TFilaR (  ) 

Definition at line 10 of file filaR.cpp.

References FatalError, mFila, and NULL.

00010               {
00011      mFila = (Fila_ptr) malloc(sizeof(Fila_t));
00012      if (!mFila) FatalError("Memória FilaR");
00013      mFila->Head = NULL;
00014      mFila->Next = NULL;
00015      mFila->Atual = NULL;
00016      mFila->Size = 0;
00017 }

TFilaR::~TFilaR (  ) 

Definition at line 19 of file filaR.cpp.

References mFila.

00019                {
00020  delete mFila;
00021 }


Member Function Documentation

void TFilaR::Insere ( int  Raiz,
double  Desvio,
long  Populacao 
)

Definition at line 23 of file filaR.cpp.

References FatalError, and mFila.

Referenced by TParticao::Particiona(), and TParticao::TParticao().

00023                                                          {
00024    Item_ptr novo;
00025 
00026     novo=(Item_ptr) malloc(sizeof(Item_t));
00027     if (!novo) {
00028       FatalError("Falta de memória!");
00029     }
00030     novo->Raiz = Raiz;
00031     novo->Desvio = Desvio;
00032     novo->Queda = 0;
00033     novo->Populacao = Populacao;
00034     novo->Proximo = mFila->Head;
00035 
00036     mFila->Head = novo;
00037     mFila->Atual = novo;
00038     mFila->Next = novo;
00039     (mFila->Size)++;
00040 }

int TFilaR::Proximo (  ) 

Definition at line 66 of file filaR.cpp.

References mFila.

Referenced by TParticao::BFS_Salva(), and TParticao::Particiona().

00066                     {
00067   int i;
00068   if(!mFila->Next) {
00069     mFila->Next = mFila->Head;
00070     mFila->Atual = mFila->Head;
00071     return -1;
00072   }
00073   i = mFila->Next->Raiz;
00074   mFila->Atual = mFila->Next;
00075   mFila->Next = mFila->Next->Proximo;
00076   return i;
00077 }

void TFilaR::Retira ( int  Raiz  ) 

Definition at line 42 of file filaR.cpp.

References FatalError, and mFila.

Referenced by TParticao::Particiona().

00042                             {
00043   Item_ptr Aux,Prev;
00044 
00045   if(!mFila->Size) {
00046     FatalError("Fila Vazia!");
00047   }
00048 
00049   Aux = mFila->Head;
00050   if(Aux->Raiz == Raiz) {
00051     mFila->Head = Aux->Proximo;
00052     (mFila->Size)--;
00053   } else {
00054      while (Aux && Aux->Raiz != Raiz){
00055        Prev = Aux;
00056        Aux = Aux->Proximo;
00057      }
00058      Prev->Proximo = Aux->Proximo;
00059      (mFila->Size)--;
00060      free(Aux);
00061   }
00062   mFila->Atual = mFila->Head;
00063   mFila->Next = mFila->Head;
00064 }


Field Documentation

Fila_ptr TFilaR::mFila

Definition at line 29 of file filaR.h.

Referenced by Insere(), TParticao::Particiona(), Proximo(), Retira(), TFilaR(), and ~TFilaR().


The documentation for this class was generated from the following files:
Generated on Sun Jul 29 04:11:38 2012 for TerraLib - Development Source by  doxygen 1.5.3