Example #1
0
void  BrfData::Merge(const BrfData& b){
  mergeVec(mesh, b.mesh);
  mergeVec(texture, b.texture);
  mergeVec(shader, b.shader);
  mergeVec(material, b.material);
  mergeVec(skeleton, b.skeleton);
  mergeVec(animation, b.animation);
  mergeVec(body, b.body);
}
Example #2
0
//自顶向下的归并排序
void mergeSort(std::vector<int>& srcVec, int low, int high, std::vector<int>& tmpVec)
{
	if (low < high)
	{
		int mid = (low + high) / 2;

		mergeSort(srcVec, low, mid, tmpVec);
		mergeSort(srcVec, mid + 1, high, tmpVec);
		mergeVec(srcVec, low, mid, high, tmpVec);
	}
}
Example #3
0
//自底向上的归并排序
void MergeSortBU(std::vector<int>& srcVec)
{
	std::vector<int> tmpVec;
	tmpVec.resize(srcVec.size());

	int length = srcVec.size();
	for (int sz = 1; sz < length; sz *= 2)
	{
		for (int lo = 0; lo < length - sz; lo += 2 * sz)
		{
			mergeVec(srcVec, lo, lo + sz + -1,std::min(lo + 2 * sz - 1, length - 1), tmpVec);
		}
	}
}