#include <filaR.h>
Definition at line 7 of file filaR.h.
Public Types | |
| typedef struct Fila_t * | Fila_ptr |
| typedef struct Item_t * | Item_ptr |
Public Member Functions | |
| void | Insere (int, double, long) |
| int | Proximo () |
| void | Retira (int) |
| TFilaR () | |
| ~TFilaR () | |
Data Fields | |
| Fila_ptr | mFila |
| typedef struct Fila_t* TFilaR::Fila_ptr |
| typedef struct Item_t* TFilaR::Item_ptr |
| TFilaR::TFilaR | ( | ) |
| TFilaR::~TFilaR | ( | ) |
| 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 }
1.5.3