c++学習のvector(容器)、priority_Queue(優先キュー)
3674 ワード
c++学習のvector(容器)(転劉学友_0116)
vectorを使用するには、ヘッダファイル
vector初期化
vector内蔵関数
2.vectorに順次アクセスするいくつかの方法、例を挙げて説明する
2.1. ベクトルaに要素を追加するいくつかの方法
1.ベクトルaへの要素の追加
2.配列から要素を選択してベクトルに追加
3.既存のベクトルから要素を選択してベクトルに追加
4.ファイルから要素を読み込みベクトルに追加
5.一般的なエラー付与方式
2.2ベクトルから要素1を読み出す.下付きで取得
2.反復による読み出し
一般的なアルゴリズム
c++学習のpriority_Queue(優先キュー)
priority_の使用Queueはヘッダファイル#include定義を含める必要があります:priority_Queue Typeはデータ型、Containerはコンテナタイプ(Containerはvector、dequeなどの配列で実現するコンテナでなければなりませんがlistは使用できません.STLではデフォルトでvectorが使用されています)、Functionalは比較の方式で、カスタムデータ型が必要な場合にこの3つのパラメータを入力し、基本データ型を使用する場合、データ型を入力するだけで、デフォルトは大屋根スタックです.
priority_Queueの埋め込み関数
vectorを使用するには、ヘッダファイル
#include
を含める必要があります.vectorはベクトルタイプであり,動的配列と見なすことができる.vector初期化
// 10 int ,
vectora(10)
// 10 int ,
vectora(10,1)
// b a ,a b
vectora(b);
// b 0-2( ) a,a int
vectora(b.begin(),b.begin+3);
//
int b[7]={1,2,3,4,5,6,7};
vector a(b,b+7);
vector内蔵関数
vector a,b;
//b , b 0-2 a
a.assign(b.begin(),b.begin()+3);
//a 4 2
a.assign(4,2);
// a
a.back();
// a
a.front();
// a i , a
a[i];
// a
a.clear();
// a , true, false
a.empty();
// a
a.pop_back();
// a ( 0 ) , a.begin()+1 ( ) a.begin()+3( )
a.erase(a.begin()+1,a.begin()+3);
// a , 5
a.push_back(5);
// a ( 0 ) 5,
a.insert(a.begin()+1,5);
// a ( 0 ) 3 , 5
a.insert(a.begin()+1,3,5);
//b , a ( 0 ) b 5 ( b+6)
a.insert(a.begin()+1,b+3,b+6);
// a
a.size();
// a
a.capacity();
// a 10 , , ,
a.resize(10);
// a 10 , , , 2
a.resize(10,2);
// a 100,
a.reserve(100);
//b , a b
a.swap(b);
//b , != >= > <= <
a==b;
2.vectorに順次アクセスするいくつかの方法、例を挙げて説明する
2.1. ベクトルaに要素を追加するいくつかの方法
1.ベクトルaへの要素の追加
vectora;
for(int i=0;i<10;++i){a.push_back(i);}
2.配列から要素を選択してベクトルに追加
int a[6]={1,2,3,4,5,6};
vector b;
for(int i=0;i<=4;++i){b.push_back(a[i]);}
3.既存のベクトルから要素を選択してベクトルに追加
int a[6]={1,2,3,4,5,6};
vectorb;
vectorc(a,a+4);
for(vector::iterator it=c.begin();it
4.ファイルから要素を読み込みベクトルに追加
ifstream in("data.txt");
vectora;
for(int i;in>>i){a.push_back(i);}
5.一般的なエラー付与方式
vectora;
for(int i=0;i<10;++i){a[i]=i;}//
2.2ベクトルから要素1を読み出す.下付きで取得
int a[6]={1,2,3,4,5,6};
vectorb(a,a+4);
for(int i=0;i<=b.size()-1;++i){cout<
2.反復による読み出し
int a[6]={1,2,3,4,5,6};
vectorb(a,a+4);
for(vector::iterator it=b.begin();it!=b.end();it++){cout<
一般的なアルゴリズム
#include
// a a.begin()( ) a.end()( )
sort(a.begin(),a.end());
// a a.begin()( ) a.end()( ) , , a 1,3,2,4, 4,2,3,1
reverse(a.begin(),a.end());
// a a.begin()( ) a.end()( ) b , b.begin()+1 ( ) ,
copy(a.begin(),a.end(),b.begin()+1);
// a a.begin()( ) a.end()( ) 10,
find(a.begin(),a.end(),10);
c++学習のpriority_Queue(優先キュー)
priority_の使用Queueはヘッダファイル#include定義を含める必要があります:priority_Queue Typeはデータ型、Containerはコンテナタイプ(Containerはvector、dequeなどの配列で実現するコンテナでなければなりませんがlistは使用できません.STLではデフォルトでvectorが使用されています)、Functionalは比較の方式で、カスタムデータ型が必要な場合にこの3つのパラメータを入力し、基本データ型を使用する場合、データ型を入力するだけで、デフォルトは大屋根スタックです.
//
priority_queue ,greater > q;
//
priority_queue ,less >q;
//greater less std ( 。
// operator(), , )
priority_Queueの埋め込み関数
top()
empty()
size()
push() ( )
emplace()
pop()
swap()