首页 > 其他 > 详细

STL -- map--vector--排序

时间:2014-02-22 13:57:55      阅读:290      评论:0      收藏:0      [点我收藏+]
//定义一个玩家vec
vector<CPlayer*> vec;

vector<玩家ID> vec1;

//玩家map 拷贝入玩家vec
for( Map_Player_it it = m_mapPlayer.begin(); it != m_mapPlayer.end(); it++)	
{
	CPlayer* pPla =  it->second;	
	
	for( 伙伴Map_it it1 = pPla->伙伴Map.begin(); it1 != pPla->伙伴.end(); it1++)	
	{
		

		伙伴类* pTemp = it1->second;
		if (pTemp)
		
		{
			vec.push_back(pTemp);

			vec1.push_back(it->first );
		}
	
	}

	
}

	//排序
	for (unsigned int i = 0 ; i <  vec.size()-1; i++)
	{
		for (unsigned int j = 0; j < vec.size()-(i+1); j++)
		{
			//根据玩家等级排序
			//大于或者小于 决定升幂或者降幂
			if (vec[j]->lev > vec[j+1]->lev)
			{
				CPlayer* tempPlayer = vec[j+1];
				vec[j+1] = vec[j];
				vec[j] = tempPla;
				
				int tempID = vec[j+1];			
				vec1[j+1] = vec1[j];
				vec1[j] = tempID;
			}
		}
	}

		
	//取值
	for (unsigned int i = 0 ; i <  vec.size() ; i++)
	{
		伙伴类  = vec[i];
		玩家ID  = vec1[i];

		玩家类 = 玩家map.find(玩家ID);
	}

STL -- map--vector--排序

原文:http://blog.csdn.net/callchunli/article/details/19642479

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!