對容器陣列內的容器按照大小進行編號排序01
阿新 • • 發佈:2018-12-17
對容器陣列內的容器按照大小進行編號排序
#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’的數值 對應的就是容器的標籤。