C++でC#のようなListを使いたい
公開日:
更新日:
C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.
上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).
C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.
Listを強化, 改良何でもしてください. ( `ー´)ノ
CAUTION
C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.
-
ここでは, Listの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- インクルード
-
ここでは, Listの基本的な使い方を説明します. 各説明項目は以下のとおりです.
- 使用例
- C#との相違点
- Sortについて
-
Listが持つ関数は以下のとおりです.
List コンストラクタ Count 要素数を取得 Capacity 容量を取得 SetCapacity 容量を設定 Array 内部配列先頭アドレス取得 Add List末尾に要素追加 Insert 指定した位置に要素挿入 IndexOf 指定されたオブジェクトの位置 LastIndexOf 最後から検索して最初に見つかったオブジェクトの位置 CopyTo 配列にコピー RemoveAt 指定した位置を削除 Clear 要素をゼロ Sort 並び替え Trim 容量を要素数に設定 CopyFrom 指定されたListからコピー MoveFrom 指定された配列そのものをListに差し替え 筆者がこのListを作る際, C#のListリファレンス(accessed: 2.1.2017) を参考にしました. 関数名はほとんど同じにしています.