1
我有一個問題..我怎樣才能從一個C維數組中刪除多個元素?假設我有一個數組A = {1,3,5,8,9,7},我想從數組A中刪除假設3,5,7。請讓我知道是否有人知道任何有效的算法。如何從C++數組中刪除多個元素?
我有一個問題..我怎樣才能從一個C維數組中刪除多個元素?假設我有一個數組A = {1,3,5,8,9,7},我想從數組A中刪除假設3,5,7。請讓我知道是否有人知道任何有效的算法。如何從C++數組中刪除多個元素?
數組在C++中不可調整大小。一個可調整大小的容器最好的辦法是std::vector
,你會爲使用:
std::vector<int> v = {1,3,5,8,9,7};
,然後刪除一些斷言元素:
auto new_end = std::remove_if(v.begin(), v.end(),
std::bind(std::less<int>(), _1, 6));
但這只是洗牌您vector
周圍的元素,使它們都結束了。要實際擦除它們,您需要撥打:
v.erase(new_end, v.end());
總是有'std :: remove_if'。 – chris
你不能「從陣列中刪除元素」。數組具有固定大小。您應該使用標準庫容器。 –