string
// substring and find
string str="We think in generalities, but we live in details.";
string str2 = str.substr (3,5); // "think"
size_t pos = str.find("live"); // position of "live" in str
string str3 = str.substr (pos); // get from "live" to the end
cout << str2 << ' ' << str3 << '\n'; // get "think live in details."
priority queue
struct compare {
bool operator () (const ListNode* t1, const ListNode* t2) {
return t1->val > t2->val;
}
};
priority_queue<ListNode*, vector<ListNode*>, compare> q;
priority_queue<int, vector<int>, greater<int> > my_queue;
vector
// Initialization
// method 1
vector<int> vect1(n, 10);
// method 2 (in C++11)
vector<int> vect2{1, 2, 3, 4, 5};
// method 3
int arr[] = { 10, 20, 30 };
vector<int> vect3(arr, arr + 3);
// sort and unique
sort(nums.begin(), nums.end());
nums.resize(unique(nums.begin(), nums.end()) - nums.begin());
// part of vector
vector<string> s;
/* ... initialize s ... */
vector<string> t(s.begin() + 1, s.begin() + 3);