当前位置: 首页>>代码示例>>C++>>正文


C++ Array2D::begin方法代码示例

本文整理汇总了C++中Array2D::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ Array2D::begin方法的具体用法?C++ Array2D::begin怎么用?C++ Array2D::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Array2D的用法示例。


在下文中一共展示了Array2D::begin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
开发者ID:xiejianhe,项目名称:FindWork,代码行数:60,代码来源:set_of_stacks.cpp

示例2: stream

		Array2D::Array2D(Array2D const& src)
		: arrayDefine_(src.arrayDefine_)
		, this_(src.this_)
		{
			for(const_iterator it = src.begin(); it != src.end(); ++it) {
				StreamReader stream( structure::serialize( *it->second ) );
				insert( it->first, std::auto_ptr<Array1D>( new Array1D(*this, it->first, stream) ) );
			}
		}
开发者ID:take-cheeze,项目名称:rpgtukuru-iphone,代码行数:9,代码来源:Array2D.cpp

示例3: begin

typename Array2D<T>::const_iterator begin(const Array2D<T>& a)
{
    return a.begin();
}
开发者ID:jebreimo,项目名称:JEBLib,代码行数:4,代码来源:Array2D.hpp


注:本文中的Array2D::begin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。