配列型データ構造(ベクトル、スタック、キューなど)がC++にあります。自動的にサイズを変更しますか?C++で任意の要素をポップした後、自動的に配列のサイズを変更します
例:
int arr[]={2,5,8,10,6};
arr[2].pop();
そしてアレイは次のようになるであろう:
arr[]={2,5,10,6};
配列型データ構造(ベクトル、スタック、キューなど)がC++にあります。自動的にサイズを変更しますか?C++で任意の要素をポップした後、自動的に配列のサイズを変更します
例:
int arr[]={2,5,8,10,6};
arr[2].pop();
そしてアレイは次のようになるであろう:
arr[]={2,5,10,6};
std::vector
が所定位置にある要素を削除しerase()
方法があり、サイズを減少させます配列。消去位置はイテレータで指定しますが、begin()
にn
を追加するのは簡単です。
ただし、erase()
の複雑さはO(n)
です。
' std :: vector'の性能について - ここでは、2014年のBuildsでのHerb Sutterのプリフェッチについて、そしてベクトル上で繰り返すのはすばらしいことです:https://youtu.be/ TJHgp1ugKGM?t = 1410 –
最近のCPUのキャッシングのために、ベクトルの直感的なパフォーマンスがわかっています。それでも、それが 'O(n)'であるという事実は変わらない。 –
- 'std :: vector' –