1. 程式人生 > >對容器陣列內的容器按照大小進行編號排序01

對容器陣列內的容器按照大小進行編號排序01

對容器陣列內的容器按照大小進行編號排序

#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’的數值 對應的就是容器的標籤。