20170807

来源:互联网 发布:免费tk域名申请 编辑:程序博客网 时间:2024/06/06 04:25
///**************************************************////*         STL--Vector学习                        *////**************************************************///#include <iostream>  //#include <vector>  //#include <string>//using namespace std;////int main(int argc, char* argv[])//{//    //1.vector容量//    vector<string> v;  //    v.reserve(5);         //只是分配容纳5个元素的空间,size() = 0; capacity() =5;//    //vector<string>v(5); //需要调用构造函数,如果构造函数很耗时间,推荐使用第一种////    cout << "size" << v.size() << endl;//    cout << "Capacity" << v.capacity() << endl;////    //2.vector操作//    v.push_back("Hello,");//    v.push_back("how");//    v.push_back("are");//    v.push_back("you");//    v.push_back("?");////    copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));//    //copy(v.front(), v.back(), ostream_iterator<string>(cout, " "));//    cout << endl;////    cout << "max_size" << v.max_size() << endl;//    cout << "size" << v.size() << endl;             //实际能够容纳的元素数量size <= capacity//    cout << "Capacity" << v.capacity() << endl;     //当前容器预留了多大空间(在不进行重新分配内存的前提下,最多可以容纳多少个元素)////    swap(v[1], v[3]);//    copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));//    cout << endl;////    vector<string>::iterator it1 = v.begin();//    vector<string>::iterator it2 = v.end();//    cout << *it1 << endl;//    cout << *(it2 - 1) << endl;////    v.insert(find(v.begin(), v.end(), "?"), "always");////    v.back() = "1";////    copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));//    cout << endl;////    cout << "max_size" << v.max_size() << endl;//    cout << "size" << v.size() << endl;//    cout << "Capacity" << v.capacity() << endl;//    //    system("pause");//    return 0;//}/////**************************************************////*         STL--List学习                        *////**************************************************///#include <iostream>//#include <list>//#include <algorithm>//#include <iterator>   //输入及输出用的iostream iterator类//using namespace std;////void printLists(const list<int>& list1, const list<int>& list2)//{//    cout << "list1:";//    copy(list1.begin(), list1.end(), ostream_iterator<int>(cout, " "));//    cout << endl << "list2:";//    copy(list2.begin(), list2.end(), ostream_iterator<int>(cout," "));//    cout << endl << endl;//}////int main()//{//    list<int> list1, list2;//    for (int i = 0; i < 6; ++i)//    {//        list1.push_back(i);  // 0 1 2 3 4 5//        list2.push_front(i); // 5 4 3 2 1 0//    }//    printLists(list1, list2);////    //-find() 操作返回元素3的迭代器的位置//    //把list1中的所有元素插入到list2中元素为3之前//    list2.splice(find(list2.begin(), list2.end(), 3), list1);//   // list2.splice(list2.begin(), list1);//    printLists(list1, list2);////    //相当于倒置//    list2.splice(list2.end(), list2, list2.begin());//    printLists(list1, list2);////    //排序,并去掉重复//    list2.sort();//    list1 = list2;//    list2.unique();//    //从输入序列中“删除”所有相邻的重复元素。//    //比如:12033077708   删除后12030708//    printLists(list1, list2);////    //合并//    list1.merge(list2);//    printLists(list1, list2);////    system("pause");//    return 0;//}/***********************************************///                  splicing 的用法/***********************************************///#include <iostream>//#include <list>//#include <string>//#include <algorithm>////using namespace std;//int main()//{////    list<int> mylist1, mylist2;//    list<int>::iterator it;////    // set some initial values://    for (int i = 1; i <= 4; i++)//        mylist1.push_back(i);        // mylist1: 1 2 3 4//    for (int i = 1; i <= 3; i++)//        mylist2.push_back(i * 10);   // mylist2: 10 20 30////    it = mylist1.begin();//    ++it;                         // points to 2//    mylist1.splice(it, mylist2);  // mylist1: 1 10 20 30 2 3 4////    // mylist2 (empty)////    // "it" still points to 2 (the 5th element)                                     ////    mylist2.splice(mylist2.begin(), mylist1, it);////    // mylist1: 1 10 20 30 3 4////    // mylist2: 2////    // "it" is now invalid.////    it = mylist1.begin();////    advance(it, 3);                // "it" points now to 30////////    mylist1.splice(mylist1.begin(), mylist1, it, mylist1.end());////    // mylist1: 30 3 4 1 10 20////////    cout << "mylist1 contains:";////    for (it = mylist1.begin(); it != mylist1.end(); it++)////        cout << " " << *it;////////    cout << "/nmylist2 contains:";////    for (it = mylist2.begin(); it != mylist2.end(); it++)////        cout << " " << *it;////    cout << endl;////////    list<string> dictionary, bword;////    dictionary.push_back("any");////    dictionary.push_back("angle");////    dictionary.push_back("ajust");////    dictionary.push_back("common");////    dictionary.push_back("cannon");////    dictionary.push_back("company");////    bword.push_back("blue");////    bword.push_back("banana");////    bword.push_back("break");////    list<string>::iterator its = dictionary.begin();////    for (int i = 0; i < 3; i++)////        its++;////    dictionary.splice(its, bword);////    copy(bword.begin(), bword.end(), ostream_iterator<string>(cout, "/n"));////    return 0;////}/***********************************************//*         STL--Set学习                        *//***********************************************/#include <iostream>  #include <set>  #include <iterator>#include <xfunctional>  //greaterusing namespace std;int main(){    /*type of the collection:    *-no duplicates    *-elements are integral values    *-descending order    */    typedef set<int,greater<int> > IntSet;    IntSet coll1;         // empty set container      //insert elements in random order      coll1.insert(4);    coll1.insert(3);    coll1.insert(5);    coll1.insert(1);    coll1.insert(6);    coll1.insert(2);    coll1.insert(5);    //iterate over all elements and print them      IntSet::iterator pos;    for (pos = coll1.begin(); pos != coll1.end(); ++pos) {        cout << *pos << ' ';    }    cout << endl;    //再次插入 4      pair<IntSet::iterator, bool> status = coll1.insert(4);    if (status.second) {        cout << "4 inserted as element "            << distance(coll1.begin(), status.first) + 1            << endl;    }    else {        cout << "4 already exists" << endl;    }    //assign elements to another set with ascending order      set<int> coll2(coll1.begin(),        coll1.end());    //print all elements of the copy      copy(coll2.begin(), coll2.end(),        ostream_iterator<int>(cout, " "));    cout << endl;    //remove all elements up to element with value 3      coll2.erase(coll2.begin(), coll2.find(3));    //remove all elements with value 5      int num;    num = coll2.erase(5);    cout << num << " element(s) removed" << endl;    //print all elements      copy(coll2.begin(), coll2.end(),        ostream_iterator<int>(cout, " "));    cout << endl;    system("pause");    return 0;}
STL的学习以大神的博客为主:http://blog.csdn.net/column/details/stl-note.html
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蓝牙开不了机怎么办 蓝牙耳机听不了怎么办 路虎车门打不开怎么办 蓝牙连接声音小怎么办 手机丢在高铁上怎么办 电信卡注销欠费怎么办 手机和卡都丢了怎么办 老干妈打不开盖子怎么办 苹果键盘电池仓打不开怎么办 苏泊尔电压力锅打不开盖子怎么办 honorv9声音太小怎么办 异地手机卡丢了怎么办 中国移动卡丢了怎么办 mate8麦克风坏了怎么办 qq空间被禁赞了怎么办 苹果老耳机模式怎么办 华为手机无声音怎么办 华为手机声音不正常怎么办 带耳机不能说话怎么办 耳机说话没声音怎么办 手机耳机说话没声音怎么办 不接爸爸电话怎么办 耳机自动调高怎么办 手机扩音器坏了怎么办 耳机有电流麦怎么办 耳机自动调音量怎么办 耳机接口总是坏怎么办 漫步者耳机音量太大怎么办 华为录音声音小怎么办 耳机自己调音了怎么办 主驾驶升降失灵怎么办 蓝牙耳机音质差怎么办 苹果不兼容耳机怎么办 唱歌耳机声音小怎么办 耳机声音小是怎么办 手机出现耳机模式怎么办 荣耀8上网慢怎么办 空调满尘了怎么办 设置了耳机模式怎么办 头戴式耳机断了怎么办 销钉孔大了怎么办