1

JavaScript コードを C++ に移植しています。

擬似コード:

n = 1 の場合、APPEND(注文、注文)

JavaScript (注文と注文は配列です):

var order = new array();
var orders = new array();
//....
if (n == 1)
{
    orders[orders.length] = order.slice(); // append copy
}

C++ で配列の代わりにベクトルを使用しています。私が思うC++コードは次のとおりです。

vector<int> order;
vector<vector<int> > orders;
//.....
orders.push_back(order)

このコードは、上記の擬似および JavaScript コードに対して正しいですか?

4

1 に答える 1

1

n == 1C++ 実装でそれをスキップした理由がわかりません。
コメントslice()で、元のリストのコピーを作成するために使用していると述べたので、C++ 実装でも同じことを行う必要があります。

vector< vector<int> > orders;
vector<int> order;
//and to clone and append
std::vector cloned;
std::copy(order.begin(), order.end(), std::back_inserter(cloned));
if(n == 1)
   orders.push_back(cloned);
于 2012-08-13T16:17:25.720 に答える