C++のSTLテンプレート使用(機試打ちよ!)
1852 ワード
STLテンプレートが使えるなら、コードを書くスピードは本当にup up up!しかし、使い方を覚えておくには、熟能生巧という方法でしょう.ここでまとめて、早速復習してみます.
1、vectorヘッダファイル#Include vectorは長くなる配列と理解できる定義:vectorname;例えばvectorvi;2 D配列vectorviであれば[100]. 要素アクセス:1)下付きvi[index]2)反復器vector::iterator it;
begin()はvectorヘッダアドレス、end()はヘッダエレメントの次のアドレス(左閉右開)
vector関数 1) push_back()vectorの後に要素xを追加(末尾に追加)
v.push_back(x);
2)pop_back()末尾要素の削除
3)size()計算要素個数
4)clear()クリア
5)insert()insert(it,x)vector反復器itに要素を追加する
vi.insert(vi.begin()+2,-1)#vi[2]の位置に-1を挿入
6) erase()
erase(it)反復器をitの下付きに削除
erase(first,last)[first,last]内のすべての要素vi.erase(vi.begin()+1,vi.begin()+4)を削除します.
2、set内部自動並べ替え、重複要素を含まない set nameを定義する. 要素アクセス:反復器 のみ共通関数 1)insert(x)
2)find(x)setの要素がxの反復器を返す
printf("%d",*(st.find(2));
3)erase()
find()s.erase(it);
3、string入出力cin>>cout<< printf()を出力する場合は、printf("%c",s.c_str();共通関数 1)+=2文字列の接続
2)コンパレータ>=<=!=ディクショナリ順にソート
3)長さsize()/length()
4) insert()
Insert(pos,str)文字列posの位置に文字列strを挿入する
Insert(it,it 2,it 3)itは元の文字列が挿入したい位置であり、it 2とit 3は挿入される文字列の先頭と末尾の反復器である
5)erase()
erase(pos,str)
6)substr(pos,len)はpos番号ビットから長さlenのサブ列を返す
7)find()
find()string::npos/-1が見つかりませんでした
str.find(str 2,pos)はstr 2のposからマッチングを開始し、str 2がstrで初めて現れる位置を返す
8)replace()
str.replace(pos,len,str 2)strをpos番号から始め、str 2を長さlenのサブストリングで置き換える
str.replace(it 1,it 2,str 2)strの反復器[it 1,it 2]範囲のサブ列をstr 2に置き換える
1、vector
vector::iterator it = vi.begin();
for(i=0;i<5;i++)
{
print("%d ",*(it+i));
}
begin()はvectorヘッダアドレス、end()はヘッダエレメントの次のアドレス(左閉右開)
for(vector::iterator it=vi.begin(); it!=vi.end();it++)
# it!=vi.end()
{
print("%d ",*it);
}
v.push_back(x);
2)pop_back()末尾要素の削除
3)size()計算要素個数
4)clear()クリア
5)insert()insert(it,x)vector反復器itに要素を追加する
vi.insert(vi.begin()+2,-1)#vi[2]の位置に-1を挿入
6) erase()
erase(it)反復器をitの下付きに削除
erase(first,last)[first,last]内のすべての要素vi.erase(vi.begin()+1,vi.begin()+4)を削除します.
2、set内部自動並べ替え、重複要素を含まない
2)find(x)setの要素がxの反復器を返す
printf("%d",*(st.find(2));
3)erase()
find()s.erase(it);
3、string
2)コンパレータ>=<=!=ディクショナリ順にソート
3)長さsize()/length()
4) insert()
Insert(pos,str)文字列posの位置に文字列strを挿入する
Insert(it,it 2,it 3)itは元の文字列が挿入したい位置であり、it 2とit 3は挿入される文字列の先頭と末尾の反復器である
5)erase()
erase(pos,str)
6)substr(pos,len)はpos番号ビットから長さlenのサブ列を返す
7)find()
find()string::npos/-1が見つかりませんでした
str.find(str 2,pos)はstr 2のposからマッチングを開始し、str 2がstrで初めて現れる位置を返す
8)replace()
str.replace(pos,len,str 2)strをpos番号から始め、str 2を長さlenのサブストリングで置き換える
str.replace(it 1,it 2,str 2)strの反復器[it 1,it 2]範囲のサブ列をstr 2に置き換える