0

ベクターの要素に整数 A と B の両方が含まれているかどうかを確認し、それらの間の要素を削除して別のベクターにコピーしたいと思います。たとえば、2 つのベクトルがあります。vector<> pathvector<> v1

   Path         v1

---A***B##    ---AB## 

そのため、タスクは A と B の間の要素を削除しています。これは C++ コードですが、残念ながら機能していません。何が問題なのかについて何か考えはありますか?

vector< > Path,v1;

vector<int>::iterator it2,it3;  

int A,B;

it2=find(Path.begin(), Path.end(), A) ; 
it3=find(Path.begin(), Path.end(), B) ; 



vector<int> v1(Path.begin(),Path.end());

if (it2 != Path.end() && it3 != Path.end()) 
{


  if(it2<it3)
  {
     v1.erase(it2+1,it3);
  }
  else
  {
    v1.erase(it3+1,it2);
  }

}
4

2 に答える 2