両端キューの要素を消去したい。構造体を含む両端キューがあり、要素を後ろから前に出力したいが、同じ構造体要素を持つ要素を出力したくない場合、どうすればよいでしょうか?
私はこのような構造体を持っています:
struct New_Array {
array<array<int,4>,4> mytable;
int h;
};
両端キューは、前の手順の要素で満たされています。 両端キューにあるすべての要素を出力したいが、出力する各テーブルには一意の "h" が必要です。特定の「h」を持つ最初のテーブルのみを印刷する必要があり、同じ「h」を持つ他のテーブルは印刷しないでください。これは「検索」機能でも実装できると思います。
両端キューの後ろから始まる "h" の値は 0 になり、両端キューの前に向かって値が増加します。
私はこれを試しました:
void Find_Solution_Path(deque<New_Array> Mydeque)
{
while(Mydeque.size()>0)
{
New_Array y=Mydeque.back();
PrintBoard(y); //this is a function that prints the 4x4 array.
Mydeque.pop_back();
for(unsigned int i=0; i<Mydeque.size(); i++)
{
New_Array xxx=Mydeque[i];
if(xxx.h==y.h)
{
Mydeque.erase(Mydeque[i]);
}
}
}
}