次のデータを持つマップがあります。
id prev abundance thing
1573 -1 0 book
1574 1573 39 beds
1575 1574 41 tray
1576 1575 46 cups
私が書いているコードにはこれがあります:
struct Abund
{
int prev;
int abundance;
string thing;
}
map<int id, Abund*> oldMap;
次のような新しいマップを作成する必要があります。
id2 prev2 prevAbun next2 nextAbun thing2
1573 1574 39 book
1574 1573 0 1575 41 beds
1575 1574 39 1576 46 tray
1576 1575 41 cups
したがって、このために、新しいマップと新しい構造体を作成しました。
struct NewAbund
{
vector<int> prev2;
vector<int> prevAbun;
vector<int> next2;
vector<int> nextAbun;
string thing2;
NewAbund() :
prev2(0),
prevAbun(0),
next2(0),
nextAbun(0),
thing2() {}
NewAbund(
vector<int> nodeprev2,
vector<int> prev_cnt2,
vector<int> nodenext2,
vector<int> next_cnt2,
string node_thing2) :
prev2(nodeprev2), prevAbun(prev_cnt2), next2(nodenext2), nextAbun(next_cnt2), thing2(node_thing2) {}
}
NewAbund(const Abund& old)
{
thing2 = old.thing;
prev2.push_back(old.prev);
prevAbun.push_back(old.abundance);
}
map<int id, NewAbund*> newMap;
今、あるマップから別のマップに要素を移入する方法について完全に迷っています。:(