本文整理汇总了C++中Array2D::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ Array2D::empty方法的具体用法?C++ Array2D::empty怎么用?C++ Array2D::empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Array2D
的用法示例。
在下文中一共展示了Array2D::empty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetOfStacks
Array2D SetOfStacks(Array2D ope, int size)
{
// write code here
if (ope.empty()) { return Array2D(); }
if (size <= 0) { assert(false); }
/** @brief has no bugs, but too complex. */
// stack<Array1D> temp;
// Array1D cur_array(size);
// int cur_index = -1;
// for (int i = 0; i < ope.size(); i++) {
// if (ope[i][0] == 1) {
// if (cur_index == size - 1) {
// temp.push(cur_array);
// cur_array = Array1D(size);
// cur_index = -1;
// }
// cur_array[++cur_index] = ope[i][1];
// } else if (ope[i][0] == 2) {
// if (cur_index == -1) {
// if (temp.empty()) { return Array2D(); }
// cur_array = temp.top();
// temp.pop();
// cur_index = size - 1;
// }
// cur_index--;
// } else { return Array2D(); }
// }
//
// Array2D result(temp.size() + 1);
// if (cur_index > -1) {
// result[temp.size()] = Array1D(&cur_array[0], &cur_array[cur_index] + 1);
// }
// cur_index = temp.size() - 1;
// while(!temp.empty()) {
// result[cur_index--] = temp.top();
// temp.pop();
// }
/** @todo don't pass all test cases */
Array2D result;
Array1D cur_array;
for (Array2D::iterator it = ope.begin(); it != ope.end(); ++it) {
if ((*it)[0] == 1) {
if (cur_array.size() == size) {
result.push_back(cur_array);
cur_array.clear();
}
cur_array.push_back((*it)[1]);
} else if ((*it)[0] == 2){
if (cur_array.empty()) {
if (result.empty()) { assert(false); }
cur_array = result.front();
result.pop_back();
}
cur_array.pop_back();
} else { assert(false); }
}
if (!cur_array.empty()) { result.push_back(cur_array); }
return result;
}
示例2: copyFrom
// Copies data from another array into this one.
// Copy an empty array will clear this one.
void copyFrom(const Array2D<T> & other)
{
if(other.empty())
{
clear();
}
else
{
create(other.sizeX(), other.sizeY());
memcpy(m_data, other.m_data, area() * sizeof(T));
}
}