对容器数组内的容器按照大小进行编号排序
#include <vector>
#include <algorithm>
#include <iostream>
struct Defect
{
int a;
int b;
};
// [) 前闭后开
void GetDefect(std::vector<Defect>& VSection, const int Begin, const int End)
{
// 起始像素begin 终止像素 end, 前闭后开 0-100,100-200....
}
int main()
{
int AllLength = 4096;
int Length = 100;
int count = AllLength % Length == 0 ? AllLength / Length : AllLength / Length + 1;
std::vector<std::pair<std::vector<Defect>, int>> VAll;
std::vector<Defect> VSection;
for (int i = 0; i < count; i++)
{
VSection.clear();
int begin = i*Length;
int End = begin + Length >AllLength ? AllLength : begin + Length;
GetDefect(VSection, begin, End);
VAll.push_back(std::make_pair(VSection, i));
}
std::sort(begin(VAll), end(VAll), [](std::pair<std::vector<Defect>, int>& Left, std::pair<std::vector<Defect>, int>& Right)
{
return Left.first.size() > Right.first.size();
});
//VAll
getchar();
return 0;
}
当时对这块代码的需求是对容器数组内的容器,按照vector.size()大小进行排序以后,能知道最大的vector对应的是哪一个,如代码中的 ‘i’的数值 对应的就是容器的标签。