在2D矢量中排序矢量时出现问题?我想根据他们从最大到最小的能力对他们进行分类。在2D矢量内排序矢量
实施例:{ROWS {1,2,3},{1,2},{1,2,3,4,5}}
应该归类为ROWS.capacity(); // ROWS {{1,2,3,4,5},{1,2,3},{1,2}}
以下是代码我没有直到现在的一部分:
std::vector< std::vector<int> >::iterator row;
std::vector<int>::iterator col;
for (row=ROWS.begin(); row<ROWS.end(); row++){
Logger::logln(LOG_DEBUG, "ROW: %d",row->capacity());
for (col = row->begin(); col != row->end(); col++){
Logger::logln(LOG_DEBUG, " CONTENT: %d ",*col);
}
}
我需要以下内容: 如果(row1.capacity> row2.capacity) 然后交换或类似的东西。
感谢提前:)
你确定要“容量”而不是“尺寸”吗? – 2011-06-04 15:06:43
行数? 2D矢量?你知道,你的矢量只是矢量的矢量。矢量的大小是它包含的元素的数量。 'ROWS.size()'是上下文中的行数,'ROWS [0] .size()'是第一行的长度。 “容量”意味着不同的东西。这是可以添加到矢量的元素的数量,直到它需要重新分配其内部存储为止。所以我认为“尺寸”应该是你选择的方法。 – 2011-06-04 15:18:54