// ННГУ, ВМК, Курс "Методы программирования-2", С++, ООП // // Copyright (c) Гергель В.П. 01.08.2000 // // Динамические структуры данных - система N стеков // адаптивная схема подбора параметров #include <time.h> #include "multist3.h" void TAdaptMultiStack :: SetStackLocation ( TElem *pStackMem[] ) { // вставка схемы адаптации long NewTime; int NewInc; TComplexMultiStack :: SetStackLocation ( pStackMem ); NewTime = time( &NewTime ); if ( NewTime > PrevTime + TimeStep ) { // адаптация NewInc = RelocationCount - PrevCount; if ( NewInc < PrevInc ) { MemQuota -= QuotaStep; if ( MemQuota < 0 ) MemQuota = 0.0; } else if ( NewInc > PrevInc ) { MemQuota += QuotaStep; if ( MemQuota > 1 ) MemQuota = 1.0; } PrevTime = NewTime; PrevInc = NewInc; PrevCount = RelocationCount; } }