1. 程式人生 > >c++常用備忘(持續更新)

c++常用備忘(持續更新)

1.string和int互轉

int轉string用to_string(int)

    s+=to_string(root->val);

string轉int用atoi(string.c_str())

    res += atoi(s.c_str());

2. 標頭檔案limits.h

include<limits>

CHAR_BIT, CHAR_MAX, CHAR_MIN, SCHAR_MAX, SCHAR_MIN, 0,UCHAR_MAX,SHRT_MAX, SHRT_MIN, USHRT_MAX, INT_MAX, INT_MIN, UINT_MAX, LONG_MAX, ULONG_MAX, LLONG_MAX, LLONG_MIN, ULLONG_MAX

3.大頂堆priority_queue

//對於基礎型別 預設是大頂堆
priority_queue<int> a;  //等同於 priority_queue<int, vector<int>, less<int> > a;
//這裡一定要有空格,不然成了右移運算子↓
priority_queue<int, vector<int>, greater<int> > c;  //小頂堆
for (int i = 0; i < 5; i++) 
{
    a.push(i);
    c.push(i);
}
while (!a.empty()) 
{
    cout << a.top() << ' ';
    a.pop();
} 
// 輸出大頂堆a:4 3 2 1 0

while (!c.empty()) 
{
    cout << c.top() << ' ';
    c.pop();
}
// 輸出小頂堆c:0 1 2 3 4