Set使用概要 3483 ワード C++ #include #include #include #include using namespace std; int p[10001]; int t[10001]; //set int set01() { set s; s.insert(1); s.insert(2); s.insert(3); s.insert(1); cout << "set size :" << s.size() << endl; cout << "set maxsize :" << s.max_size() << endl; cout << "set :" << *s.begin() << endl; cout << "set :" << *(--s.end()) << endl; s.clear(); if (s.empty()) { cout << "set !!!" << endl; } cout << "set size :" << s.size() << endl; cout << "set maxsize :" << s.max_size() << endl; return 0; } //count int set02() { set st; st.insert(1); st.insert(2); st.insert(3); st.insert(1); cout << "1 " << st.count(1) << endl; cout << "2 " << st.count(2) << endl; cout << "5 " << st.count(5) << endl; return 0; // count set // set , , // } //equal_range pair val int set03() { set s; set::iterator iter; for (int i = 1; i <= 5; ++i) { s.insert(i); } for (iter = s.begin(); iter != s.end(); ++iter) { cout << *iter << " "; } cout << endl; pair::const_iterator, set::const_iterator> pr; pr = s.equal_range(3); cout << " 3 :" << *pr.first << endl; cout << " 3 : " << *pr.second << endl; return 0; } //erase 1, ,2, 3, int set04() { set s; set::const_iterator iter; set::iterator first; set::iterator second; for (int i = 1; i <= 10; ++i) { s.insert(i); } // s.erase(s.begin()); // first = s.begin(); second = s.begin(); second++; second++; s.erase(first, second); // s.erase(8); cout << " set :"; for (iter = s.begin(); iter != s.end(); ++iter) { cout << *iter << " "; } cout << endl; return 0; } // insert pair ::iterator , bool> // ,bool true .end() bool false int set05() { int a[] = { 1,2,3 }; set s; set::iterator iter; s.insert(a, a + 3); for (iter = s.begin(); iter != s.end(); ++iter) { cout << *iter << " "; } cout << endl; pair::iterator, bool> pr; pr = s.insert(5); if (pr.second) { cout << *pr.first << endl; } pr = s.insert(1); if (!pr.second) cout << " set 5 " << endl; return 0; } // lower_bound key_vale // upper_bound key_val int set06() { set myset; for (int i = 1; i < 10; i++) myset.insert(i * 10); // 10 20 30 40 50 60 70 80 90 auto itlow = myset.lower_bound(30); // ^ auto itup = myset.upper_bound(60); int a[] = { 1,5,7,9,4 }; set st; st.insert(a, a + 5); auto it = st.lower_bound(6); cout << *it << endl; it = st.upper_bound(6); cout << *it << endl; return 0; } int main() { set06(); } C++ブラウザ閲覧履歴取得(Google、IE、火狐対応) カプセル化されたタイマクラス