当前位置: 首页>>代码示例>>C++>>正文


C++ VVI::begin方法代码示例

本文整理汇总了C++中VVI::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ VVI::begin方法的具体用法?C++ VVI::begin怎么用?C++ VVI::begin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在VVI的用法示例。


在下文中一共展示了VVI::begin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CalcMatrix

void CalcMatrix(const vector<CompositeData> data, VVI & RM, VVI & DM,
		VS & deci_val) {
	if (data.size() == 0 ) {
		cerr << "Input data is empty!" << endl;
		exit(-1);
	}
	unsigned int i, j;
	//Calc Relation Matrix
	RM.clear();
	VI vbTmp(data.size(), 0);
	RM.insert(RM.begin(), data.size(), vbTmp);
	for (i = 0; i < data.size(); ++i) {
		for (j = 0; j < data.size(); ++j) {
			if (data[i] == data[j])
				RM[i][j] = 1;
		}
		RM[i][i] = 1;
	}

	//Calc Relation Matrix
	STR2VI_MAP DMap;
	STR2VI_MAP::iterator it;
	for (i = 0; i < data.size(); ++i) {
		it = DMap.find(data[i].d);
		if (it == DMap.end()) {
			VI tmp;
			tmp.push_back(i);
			DMap.insert(STR2VI_MAP::value_type(data[i].d, tmp));
		} else {
			((*it).second).push_back(i);
		}
	}

	//DM: n * d
	//DMap.size() = d
	DM.clear();
	VI viTmp(DMap.size(), 0);
	DM.insert(DM.begin(), data.size(), viTmp);

//	cout << DM.size() << "\t" << DM[0].size() << endl;

	for (i = 0, it = DMap.begin(); it != DMap.end(); ++it, ++i) {
		deci_val.push_back((*it).first);
		for (j = 0; j < (*it).second.size(); ++j) {
			DM[(*it).second[j]][i] = 1;
		}
	}
	DMap.clear();
}
开发者ID:karthicks123,项目名称:iRoughSet,代码行数:49,代码来源:CRS2.cpp

示例2: CalcOmegaMatrix

void CalcOmegaMatrix(const VVI & RM, const VVI & DM, VVI & OmegaM) {
	if (RM.size() == 0 || DM.size() == 0) {
		cerr << "Size of relation matrix and decison matrix is 0 !" << endl;
		exit(-1);
	}
	//OmegaM: n * d
	OmegaM.clear();
	VI viTmp(DM[0].size(), 0);
	OmegaM.insert(OmegaM.begin(), RM.size(), viTmp);

//	cout << OmegaM.size() << "\t" << OmegaM[0].size() <<endl;

	unsigned int i, j, k;
	STR2VI_MAP::iterator it;
	int sum = 0;

	for (i = 0; i < RM.size(); ++i) {
		for (j = 0; j < DM[0].size(); ++j) {
			sum = 0;
			for (k = 0; k < DM.size(); ++k) {
				sum += RM[i][k] * DM[k][j];
			}
			OmegaM[i][j] = sum;
		}
	}
}
开发者ID:karthicks123,项目名称:iRoughSet,代码行数:26,代码来源:CRS2.cpp

示例3: can

bool can(int prefLength,VI& result,bool return_result = false){
	result.clear();

	vector<Hash> hashes;
	int n = 1;
	for(int sn = 0; sn<n;++sn){
		HashComputer<mod1> curHash1;
		HashComputer<mod2> curHash2;

		for(int i = 0; i < prefLength; ++i){
			curHash1.add(a[sn][i]);
			curHash2.add(a[sn][i]);
		}
		hashes.push_back(Hash(make_pair(curHash1.value,curHash2.value),sn,0));

		for(int i = prefLength; i < a[sn].size(); ++i){
			curHash1.shift(a[sn][i-prefLength],a[sn][i],prefLength);
			curHash2.shift(a[sn][i-prefLength],a[sn][i],prefLength);
			hashes.push_back(Hash(make_pair(curHash1.value,curHash2.value),sn,i-prefLength+1));
		}
	}

	sort(hashes.begin(),hashes.end());

	//hashes.resize(unique(hashes.begin(),hashes.end(),EqualString())-hashes.begin());

	
	VVI results;
	for(int i = k-1; i < hashes.size();++i)
		if(hashes[i].equals(hashes[i-k+1])){
			if(return_result == true){
				results.push_back(VI());
				int k = results.size()-1;
				for(int j = i-n+1; j <=i;++j)
					results[k].push_back(hashes[j].pos);
			}
			else
				return true;
		}

	if(return_result == true){
		result = *min_element(results.begin(),results.end());
		return true;
	}

	return false;
}
开发者ID:Yan-Song,项目名称:burdakovd,代码行数:47,代码来源:i.cpp


注:本文中的VVI::begin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。