update algirothm

本文探讨了一段长时间开发过程中的挫折与成长,通过详细解析一个复杂算法的实现,揭示了从初识到理解的艰难历程。从数据结构设计到算法优化,作者分享了其学习与实践的心得,旨在为读者提供一种深入思考问题、克服技术障碍的方法。

搞了这么久,今天才被逼出这个弱智算法,之前大脑去干吗了?

#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()
{

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值