搞了这么久,今天才被逼出这个弱智算法,之前大脑去干吗了?
#include <iostream>
#include <map>
using namespace std;
struct Tss
{
Tss():m_StateNum(0),m_Level(0)
{
}
Tss(int aStateNum, int aLevel):m_StateNum(aStateNum),m_Level(aLevel)
{
}
int m_StateNum;
int m_Level;
};
std::map<int,Tss> TssMap;
std::map<int,int> IssMap;
int GetPRI(int aState)
{
//ToDo
return aState;
}
int GetIssState(int aID)
{
std::map<int,int>::iterator lIter = IssMap.find(aID);
if ( lIter != IssMap.end())
{
return lIter->second;
}
return 0;
}
int GetTssState(int aID)
{
std::map<int,Tss>::iterator lIter = TssMap.find(aID);
if ( lIter != TssMap.end())
{
return lIter->second.m_StateNum;
}
return 0;
}
void UpdateFromTSS(int aID, int aState, int aLevel)
{
std::map<int,Tss>::iterator lIter = TssMap.find(aID);
if (lIter != TssMap.end() && lIter->first < aLevel)
{
return;
}
Tss lTss(aState,aLevel);
TssMap.insert(std::make_pair(aID,lTss));
int lActiveState = aState;
int lIssState = GetIssState(aID);
if (GetPRI(lActiveState) < GetPRI(lIssState))
{
lActiveState = lIssState;
}
//DoUpdate(lActiveState);
}
void UpdateIss(int aID, int aState, int aLevel)
{
std::map<int,int>::iterator lIter = IssMap.find(aID);
if (lIter != IssMap.end() && GetPRI(aState) < GetPRI(lIter->second))
{
return;
}
IssMap.insert(std::make_pair(aID,aState));
int lActiveState = aState;
int lTssState = GetTssState(aID);
if (GetPRI(lActiveState) < GetPRI(lTssState))
{
lActiveState = lTssState;
}
//DoUpdate(lActiveState);
}
int main()
{
}