サプリメントアルゴリズム[4] - STLの使用

それについてBBメインプライオリティキューおよび文字列。ああ、そこにありますbitset

プライオリティキュー

  • それを定義するのは簡単です: priority_queue<int> pq;
  • インテリアはヒープです。

基本操作

  • pq.top()スタック要素のトップを取りません。(何のfront()道を!)
  • pq.push(x) 挿入します。
  • pq.pop() (ヒープのトップを削除)を削除します。
  • pq.empty() 判決は空です。

カスタムの優先順位

  • 最大ヒープ: priority_queue<int> pq;
  • 最小ヒープ: priority_queue< int, vector<int>, greater<int> > pq;
  • カスタム優先順位実際に存在するcmp方法(最大のチームの最初の優先順位):
    サプリメントはアルゴリズム[4] - STL使用 大きい列ODY>
    1 
    2
    3
    4
    5
    6
    7
    8
    構造体 
    { BOOLの演算子() CONST INT A、CONST INT B)のconst {戻り A> B; }};PRIORITY_QUEUE < int型ベクトル < INT >、CMP> PQ; //この時間は最小ヒープであります






  • 百回のトレーニング4078:http://bailian.openjudge.cn/practice/4078/

定義が容易: string s;

基本操作

  • s.size() 文字列の長さ(インデックス0から始まります)。
  • s.substr(a, n) 構成をサブストリング、最初の添字文字であり、nはサブストリングの文字長です。
  • s'find(it1, it2, x)ポインタit1it2中間の文字を見つけx、(s.find(x)全体sのルックアップx
  • s.erase(a)ポインタは同じ要素、Aの外観を除去することができるfindような指定された文字の除去と組み合わされs.erase(std::find(s.begin(), s.end(), ' '));、任意のスペースを除去します。
  • s.empty() これは、ヌルかどうかを決定します。
  • サポートpush_backpop_back;
  • サポート+=および==操作。

トラバーサル操作

  • あなたはできauto it = s.begin(); it != s.end(); it++トラバース。
  • しかし、私は、一般的に使用int i = 0; i < s.size(); i++トラバースします。

そして、デジタル変換

文字列 - デジタル

  • stoistolstoll:整数への文字列。
  • stofstodstold:文字列のフロートスイッチ。

文字列へのデジタル

  • to_stringダイレクトに変身しますstd::string

ビットベクトル

定義: bitset<length> b(value);

基本操作

  • ビットコンピューティングのサポート&^<<>>というように。
  • to_string() 文字列に。
  • to_ulong()to_ullong()Isは符号なし整数に変換しました。
  • flip(i)i番目のビット反転、0からのインデックスflip()のすべてのビット単位。

おすすめ

転載: www.cnblogs.com/lijianming180/p/12147623.html