// ННГУ, ВМК, Курс "Методы программирования-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;
  }
}
Хостинг от uCoz