c++学習のvector(容器)、priority_Queue(優先キュー)

3674 ワード

c++学習のvector(容器)(転劉学友_0116)
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()