タグ付けされた質問 「vector」

ベクトルは1次元配列です。ベクトルには、整数インデックスを使用してアクセスできるコンポーネントが含まれています。一部の言語では、ベクターの作成後にアイテムの追加や削除に対応するために、ベクターのサイズが必要に応じて拡大または縮小する場合があります。グラフィック表示には 'vector-graphics'を使用します。

6
データフレームの行をベクトルに変換する
データフレームの行からベクトルを作成します。しかし、行と列の名前を付ける必要はありません。私はいくつかのことを試みました...しかし運がありませんでした。 これは私のデータフレームです: > df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3)) > df a b c 1 1 2 2.6 2 2 6 8.2 3 4 2 7.5 4 2 1 3.0 私は試した: > newV <- as.vector(df[1,]) > newV a b c 1 1 2 2.6 しかし、私は本当にこのようなものを望んでいます: > newV <- c( 1,2,2.6) > newV [1] …
116 r  vector  dataframe 

8
2次元std :: vectorの初期化
だから、私は以下を持っています: std::vector< std::vector <int> > fog; そして私はそれを非常に単純に初期化しています: for(int i=0; i<A_NUMBER; i++) { std::vector <int> fogRow; for(int j=0; j<OTHER_NUMBER; j++) { fogRow.push_back( 0 ); } fog.push_back(fogRow); } そして、それは非常に間違っていると感じています...このようなベクトルを初期化する別の方法はありますか?
116 c++  vector 

3
配列とベクトル:導入の類似点と相違点[終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 C ++の配列とベクトルの違いは何ですか?違いの例としては、ライブラリ、象徴性、能力などがあります。 アレイ 配列には、特定のタイプの特定の数の要素が含まれています。プログラムのコンパイル時に必要な量のスペースをコンパイラーが予約できるように、配列が定義されるときに含まれる要素のタイプと数を指定する必要があります。コンパイラーは、プログラムのコンパイル時にこの値を判別できる必要があります。配列が定義されたら、配列の特定の要素にアクセスするために、インデックスと共に配列の識別子を使用します。[...]配列のインデックスはゼロです。つまり、最初の要素はインデックス0にあります。このインデックススキーマは、C ++でのポインターと配列の間の密接な関係と、言語がポインター演算用に定義するルールを示しています。 — C ++ Pocketリファレンス ベクター ベクトルは、配列スタイルのoperator[]ランダムアクセスを提供する動的にサイズ変更されたオブジェクトのシーケンスです。メンバー関数はpush_back、コピーコンストラクターを介して引数をコピーし、そのコピーをベクターの最後のアイテムとして追加し、サイズを1ずつ増やします。pop_back最後の要素を削除することにより、まったく逆のことを行います。ベクターの最後からアイテムを挿入または削除するには、一定の償却時間がかかります。他の場所からアイテムを挿入または削除するには、線形時間がかかります。これらはベクターの基本です。彼らにはもっとたくさんあります。ほとんどの場合、ベクトルはCスタイルの配列よりも最初の選択肢です。まず第一に、それらは動的にサイズ設定されます。つまり、必要に応じて拡張できます。C配列の場合のように、最適な静的サイズを見つけるためにあらゆる種類の調査を行う必要はありません。ベクトルは必要に応じて拡大し、必要に応じて手動でサイズを変更できます。次に、ベクトルはatメンバー関数で境界チェックを提供します(ただし、operator[])、単にプログラムのクラッシュを監視するのではなく、存在しないインデックスを参照する場合、またはさらに悪いことに、破損したデータを使用して実行を継続できるようにするためです。 — C ++クックブック
111 c++  arrays  vector 

7
std :: vector要素は連続していることが保証されていますか?
私の質問は単純です:std :: vector要素が連続していることが保証されていますか?つまり、std :: vectorの最初の要素へのポインタをC配列として使用できますか? 私の記憶がうまく機能するなら、C ++標準はそのような保証をしませんでした。ただし、std :: vectorの要件は、要素が隣接していない場合、要件を満たすことが実質的に不可能であるようなものでした。 誰かがこれを明確にできますか? 例: std::vector<int> values; // ... fill up values if( !values.empty() ) { int *array = &values[0]; for( int i = 0; i < values.size(); ++i ) { int v = array[i]; // do something with 'v' } }
111 c++  vector  standards 

6
関数から「ベクター」を返すのはなぜですか?
このコードを検討してください。このタイプのコードを何度か見ました。wordsローカルベクトルです。関数から返すにはどうすればよいですか? 死なないことを保証できますか? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this vector will be returned std::string token; while (std::getline(file, token, ',')) { words.push_back(token); } return words; }

5
イテレータを使用してベクトルをナビゲートする方法は?(C ++)
目的は、[]演算子や「at」メソッドではなく、文字列のベクトルの「n番目」の要素にアクセスすることです。私が理解していることから、コンテナをナビゲートするためにイテレータを使用できますが、これまでイテレータを使用したことがなく、読んでいるものは混乱しています。 これを達成する方法について誰かが私にいくつかの情報を提供できたら、私はそれを感謝します。ありがとうございました。
105 c++  iterator  vector 



10
単一のベクトルのすべての要素が等しいかどうかをテストする
ベクトルのすべての要素が互いに等しいかどうかをテストしようとしています。私が思いついた解決策は、どちらもチェックを含む、やや回り道のようですlength()。 x <- c(1, 2, 3, 4, 5, 6, 1) # FALSE y <- rep(2, times = 7) # TRUE とunique(): length(unique(x)) == 1 length(unique(y)) == 1 とrle(): length(rle(x)$values) == 1 length(rle(y)$values) == 1 要素間の「同等性」を評価するための許容値を含めることができるソリューションは、FAQ 7.31の問題を回避するのに理想的です。 私が完全に見落としたタイプのテスト用の組み込み関数はありますか?2つのRオブジェクトidentical()をall.equal()比較するため、ここでは機能しません。 編集1 ここにいくつかのベンチマーク結果があります。コードの使用: library(rbenchmark) John <- function() all( abs(x - mean(x)) < .Machine$double.eps ^ …
101 r  vector  equality 

5
ベクトルから要素を消去する
消去メソッドを使用してベクトルから要素をクリアしたいのですが。しかし、ここでの問題は、要素がベクトル内で1回だけ発生することが保証されていないことです。それは複数回存在する可能性があり、それらをすべてクリアする必要があります。私のコードは次のようなものです: void erase(std::vector<int>& myNumbers_in, int number_in) { std::vector<int>::iterator iter = myNumbers_in.begin(); std::vector<int>::iterator endIter = myNumbers_in.end(); for(; iter != endIter; ++iter) { if(*iter == number_in) { myNumbers_in.erase(iter); } } } int main(int argc, char* argv[]) { std::vector<int> myNmbers; for(int i = 0; i < 2; ++i) { myNmbers.push_back(i); myNmbers.push_back(i); } erase(myNmbers, …
101 c++  vector  stl  erase 

6
vector <bool>がSTLコンテナではないのはなぜですか?
スコットマイヤーズの本の効果的なSTLの項目18 :標準テンプレートライブラリの使用を改善するための50の特定の方法vector &lt;bool&gt;は、STLコンテナではなく、実際にはboolsを保持しないため、避けるようにと言っています。 次のコード: vector &lt;bool&gt; v; bool *pb =&amp;v[0]; コンパイルされず、STLコンテナの要件に違反します。 エラー: cannot convert 'std::vector&lt;bool&gt;::reference* {aka std::_Bit_reference*}' to 'bool*' in initialization vector&lt;T&gt;::operator []戻り値の型はであるはずですがT&amp;、なぜそれがvector&lt;bool&gt;ですか? なに vector&lt;bool&gt;実際には構成されていますか? アイテムはさらに言う: deque&lt;bool&gt; v; // is a STL container and it really contains bools これをの代替として使用できますvector&lt;bool&gt;か? 誰もがこれを説明できますか?

12
C ++ 11で 'for'ループの範囲にあるときに、アイテムをベクトルから削除しますか?
私はIInventory *のベクトルを持っていて、C ++ 11の範囲を使用してリストをループし、それぞれを処理しています。 1つでいくつかのことを行った後、それをリストから削除して、オブジェクトを削除することができます。deleteいつでもポインターを呼び出してクリーンアップできることはわかっていますが、範囲forループ内にあるときに、ポインターをベクターから削除する適切な方法は何ですか?リストから削除すると、ループが無効になりますか? std::vector&lt;IInventory*&gt; inv; inv.push_back(new Foo()); inv.push_back(new Bar()); for (IInventory* index : inv) { // Do some stuff // OK, I decided I need to remove this object from 'inv'... }
97 c++  vector  for-loop  c++11 


8
ベクタードローアブルスケーリングが期待どおりにならないのはなぜですか?
Androidアプリでベクタードローアブルを使用しようとしています。http://developer.android.com/training/material/drawables.htmlから(鉱山を強調): Android 5.0(APIレベル21)以上では、定義を失うことなくスケーリングできるベクタードローアブルを定義できます。 このドロアブルを使用する: &lt;vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"&gt; &lt;path android:fillColor="@color/colorPrimary" android:pathData="M14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20H14M12,2A1,1 0 0,1 13,3V4.08C15.84,4.56 18,7.03 18,10V16L21,19H3L6,16V10C6,7.03 8.16,4.56 11,4.08V3A1,1 0 0,1 12,2Z" /&gt; そしてこのImageView: &lt;ImageView android:layout_width="400dp" android:layout_height="400dp" android:src="@drawable/icon_bell"/&gt; アイコンを400 dpで表示しようとすると、次のぼやけた画像が生成されます(lollipopを実行している2015年頃の高解像度モバイルデバイス上): ベクタードローアブルの定義で幅と高さを200dpに変更すると、400dpのレンダリングサイズでの状況が大幅に改善されます。ただし、これをTextView要素のドローアブルとして設定すると(つまり、テキストの左側にあるアイコン)、巨大なアイコンが作成されます。 私の質問: 1)ベクタードローアブルに幅/高さの仕様があるのはなぜですか?これらの全体のポイントは、ロスレスにスケールアップおよびスケールダウンして、その定義で幅と高さを無意味にすることだと思いましたか? 2)TextViewで24 dpのドローアブルとして機能する単一のベクタードローアブルを使用することはできますか。たとえば、さまざまなサイズの複数のベクタードローアブルを作成せずに、レンダリングされた要件に合わせてスケーリングする方法を使用するにはどうすればよいですか? 3)幅/高さの属性を効果的に使用するにはどうすればよいですか?viewportWidth / Heightとの違いは何ですか? さらなる詳細: デバイスはAPI 22を実行しています Android Studio …

12
C ++ベクトルを最後から最初まで反復する
ベクトルを最後から最初まで反復することは可能ですか? for (vector&lt;my_class&gt;::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } または、それはそのようなものでのみ可能です: for (int i = my_vector.size() - 1; i &gt;= 0; --i) { }
96 c++  vector  iterator 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.