您好,欢迎来到汇智旅游网。
搜索
您的当前位置:首页multiset

multiset

来源:汇智旅游网
#include <string>
#include <set>
#include <iostream>

struct TableItem
{
	int id;
	std::string idText;
	std::string positionText;
	std::string shearText;
	std::string momentText;
};

struct CompareIDText
{
	bool operator()(const TableItem * t1, const TableItem * t2) const;
};

bool CompareIDText::operator()(const TableItem * t1, const TableItem * t2) const
{
	//非零即真 
	int res = strcmp(t1->idText.c_str(), t2->idText.c_str());
	if (res < 0)
	{
		return true;
	}
	return false;
}

void main()
{
	const int arraySize = 5;
	TableItem items[arraySize];
	items[0].idText="1";
	items[0].positionText="10";
	items[1].idText="2";
	items[1].positionText="20";
	items[2].idText="3";
	items[2].positionText="30";
	items[3].idText="1";
	items[3].positionText="40";
	items[4].idText="2";
	items[4].positionText="50";

	typedef std::multiset<TableItem *, CompareIDText> Tables;
	Tables tables;
	for(int i=0; i<arraySize; ++i)
	{
		tables.insert(&items[i]);
	}

	Tables::iterator ite = tables.begin();
	Tables::iterator iteEnd = tables.end();
	TableItem * tItem;
	for(int j=1 ;ite!=iteEnd; ++ite, ++j)
	{
		tItem = *ite;
		std::cout << tItem->idText << std::endl;
	}
	
}

输出结果

1
1
2
2
3

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务