文章标题

来源:互联网 发布:网络彩票赌博怎么举报 编辑:程序博客网 时间:2024/06/15 08:06
/*//vector(向量)类模板#pragma warning(disable:4186)  //消除编译警告信息#include<vector>int main(){    vector<int> vec1;    cout<<"ok!"<<endl;    return 0;}*//*#include<vector>#include<string>#include<iostream>using namespace std;int  main(){       vector<int>vec1;    vec1.reserve(5);    vec1.push_back(10);    vec1.push_back(20);    vec1.push_back(30);    vec1.push_back(40);    vector<int>::iterator it1;      //定义一个迭代器对象    for(it1=vec1.begin();it1!=vec1.end();++it1)  //用迭代器遍历整个容器        cout<<*it1<<endl;    vector<string> vec;  //vector是类模板,使用时,先定义类对象    vec.reserve(4);       //预先设置容器的容量    cout<<"the size is 4"<<endl;     vec.push_back("1.Yangyang");   //向容器中添加元素    vec.push_back("2.Lijian");    vec.push_back("3.Eson");    //vec.push_back("4.Leijiayin");    cout<<"OK!"<<endl;    vector<string>::iterator it;      //定义一个迭代器对象    for(it=vec.begin();it!=vec.end();++it)  //用迭代器遍历整个容器        cout<<*it<<endl;    int m = vec.size();         //返回容器中现有的元素个数    int n = vec.capacity();    //返回容器中能够容纳的元素个数    int k = vec.max_size();     //返回容器所能容纳的最大元素数    cout<<"vector:vec,size is"<<m<<endl;     cout<<"vector:vec,capacity is"<<n<<endl;    cout<<"vector:vec,max_size is"<<k<<endl;    vec.resize(10);       //修改容器的大小    cout<<"resize 10 "<<endl;    int n1=vec.capacity();    int n2=vec.size();    cout<<"vector:vec,capacity is"<<n1<<endl;    cout<<"vector:vec,size is"<<n2<<endl;    for(it=vec.begin();it!=vec.end();++it)    {        if(*it=="")            cout<<"**********"<<endl;        cout<<*it<<endl;    }    return 0;}*//*#include<vector> #include<iostream>using namespace std;struct ST             //定义结构体类型{    int id;    double db;};void Origin(int num,vector<ST>&vt)   //定义初始化函数{    int m=num;    ST temp;    for(int i=0;i<m;++i)    {        temp.id=i+1;        temp.db=(i+1)*10;        vt.push_back(temp);  //初始化向量    }}int main(){    ST tmp;    vector<ST> vec;    Origin(5,vec);    int size=vec.size();    cout<<"size is  "<<size<<endl;    while(!vec.empty())    {        tmp=vec.back();//输出尾部的元素        cout<<"id "<<tmp.id<<"db "<<tmp.db<<endl;        vec.pop_back();   //弹出末尾元素    }    return 0;}*//*#include<iostream>#include<vector>using namespace std;struct ST             //定义结构体类型{    int id;    double db;};void Iter_for(vector<ST> &vt)   //用迭代器遍历vector向量容器{    ST temp;    vector<ST>::iterator  iter;    for(iter=vt.begin();iter!=vt.end();iter++)    {        temp=*iter;        cout<<"id:  "<<temp.id<<"db:    "<<temp.db<<endl;    }}void at_for(vector<ST> &vt)   //用at()函数遍历vector向量容器{    ST temp;    int i=0;    int m=vt.size();    for(i=0;i<m;++i)    {        temp=vt.at(i);        cout<<"id:  "<<temp.id<<"db:    "<<temp.db<<endl;    }}void Origin(int num,vector<ST>&vt)   //定义初始化函数{    int m=num;    ST temp;    for(int i=0;i<m;++i)    {        temp.id=i+1;        temp.db=(i+1)*10;        vt.push_back(temp);  //初始化向量    }}int main(){    ST tmp;    vector<ST> vec;    Origin(5,vec);    int size=vec.size();    cout<<"size is  "<<size<<endl;    cout<<"Iterator output "<<endl;    Iter_for(vec);    cout<<"at()   output  "<<endl;    at_for(vec);    cout<<"empty()  usage:"<<endl;    while(!vec.empty())    {        tmp=vec.back();//输出末尾元素        cout<<"id "<<tmp.id<<"db "<<tmp.db<<endl;        vec.pop_back();   //弹出末尾元素    }    return 0;}*//*//函数模板的使用//for_each() count_if()函数的使用#include<iostream>#include<vector>#include<algorithm>using namespace std;struct Student{    int id;    double score;};template<class T>void Original(T &vt)     //初始化{    Student temp;    temp.id=1;    temp.score=90;    vt.push_back(temp);    temp.id=2;    temp.score=95;    vt.push_back(temp);    temp.id=3;    temp.score=98;    vt.push_back(temp);    temp.id=4;    temp.score=97;    vt.push_back(temp);    temp.id=5;    temp.score=95;    vt.push_back(temp);    temp.id=6;    temp.score=90;    vt.push_back(temp);}void out(Student &stu){    cout<<" stu--id: "<<stu.id<<"    "<<"stu--score: "<<stu.score<<endl;}bool greater95(Student &stu){    if(stu.score>=95.0)    {        return 1;    }    return 0;}int main(){    vector<Student> vec;    vector<Student>::iterator it;    int countV=0;    Original(vec);    for_each(vec.begin(),vec.end(),out);    countV=count_if(vec.begin(),vec.end(),greater95);    cout<<"大于95分的人数:  "<<countV<<endl;    return 0;}*//*//find()    find_if()#include<iostream>#include<vector>#include<algorithm>#include<functional>using namespace std;void print(const int &temp){    cout<<temp<<endl;}int main(){    const int      arr_size=8;    int arr[arr_size]={0,1,2,3,4,5,6,7};    vector<int> vec;    vector<int>::iterator location_index;    for(int i=0;i<8;++i)    {        vec.push_back(arr[i]);    }    for_each(vec.begin(),vec.end(),print);    location_index = find(vec.begin(),vec.end(),2);    cout<<"2的下标是:  "<<((location_index)-vec.begin())<<endl;    location_index = find_if(vec.begin(),vec.end(),bind2nd(greater<int>(),5));    cout<<"第一个大于5的数字下标为: "<<(location_index-vec.begin())<<endl;    return 0;}*//*//排序:sort()的使用#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace std;class student{   public:    student(const string &a,double b):name(a),score(b){}    string name;    double score;    bool operator < (const student &m)const//小于的运算符重载函数    {        return score < m.score;    }};bool name_sort_less(const student &m,const student &n){    return m.name<n.name;}bool name_sort_greater(const student &m,const student &n){     return m.name>n.name;}bool score_sort_greater(const student &m,const student &n){     return m.score>n.score;}void print(student &s){    cout<<s.name<<"\t"<<s.score<<endl;}void Original(vector<student> &v){    student st1("Tom",74);    v.push_back(st1);    st1.name="Yang";    st1.score=90;    v.push_back(st1);    st1.name="Lijian";    st1.score=98;    v.push_back(st1);    st1.name="Eason";    st1.score=87;    v.push_back(st1);    st1.name="Kkw";    st1.score=78;    v.push_back(st1);    st1.name="Jony";    st1.score=75;    v.push_back(st1);} int main() {    vector<student> vec;    Original(vec);    cout<<"********************排序前*****************"<<endl;    for_each(vec.begin(),vec.end(),print);    sort(vec.begin(),vec.end());  //默认按照数字从小到大排序    cout<<"********************排序后*****************"<<endl;    for_each(vec.begin(),vec.end(),print);    sort(vec.begin(),vec.end(),name_sort_less);    cout<<"*************按name从小到大排序*************"<<endl;    for_each(vec.begin(),vec.end(),print);    sort(vec.begin(),vec.end(),name_sort_greater);    cout<<"*************按name从大到小排序*************"<<endl;    for_each(vec.begin(),vec.end(),print);    sort(vec.begin(),vec.end(),score_sort_greater);    cout<<"*************按score从大到小排序*************"<<endl;    for_each(vec.begin(),vec.end(),print);    return 0; }*//*#include<iostream>#include<vector>#include<algorithm>using namespace std;void OutToScreen(int &Ele){    cout<<Ele<<",";}*//*//插入元素:push_back() 尾插     insert()  向任意位置插入int main(){    vector<int> vec;    for(int i=0;i<10;++i)    {        vec.push_back(i);    }    vec.insert(vec.begin(),-1);    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;    vec.insert(vec.end(),-2);    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;    vector<int> vt;    vt.push_back(-80);    vt.push_back(-90);    vt.push_back(-70);    vt.push_back(-50);    vec.insert(vec.end(),vt.begin(),vt.end());    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;    vec.insert(vec.begin(),3,0);    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;}*//*//删除   pop_back() 删除末尾元素 //       clear()     删除全部元素//       erase()     删除任意位置元素int main(){    vector<int> vec;    for(int i=0;i<10;++i)    {        vec.push_back(i);    }    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;    cout<<"************从尾删除**********************"<<endl;    while(!vec.empty())    {        vec.pop_back();  //弹出vector末尾元素        for_each(vec.begin(),vec.end(),OutToScreen);        cout<<endl;    }    vec.clear();//清空vector型容器    for(int j=0;j<10;++j)    {        vec.push_back(j);    }    for_each(vec.begin(),vec.end(),OutToScreen);    cout<<endl;    cout<<"***********从头删除**************"<<endl;    while(!vec.empty())    {        vec.erase(vec.begin());  //删除容器中第一个元素        for_each(vec.begin(),vec.end(),OutToScreen);        cout<<endl;     }}*//*#include<iostream>#include<vector>#include<string>#include<algorithm>#include<functional>using namespace std;struct ST{    int id;    int score;};void print( ST & tmp){    cout<<"id"<<tmp.id<<"  "<<"score"<<tmp.score<<endl;}int main(){    vector<ST> vec;    ST stu;    stu.id=1;    stu.score=80;    vec.push_back(stu);    stu.id=2;    stu.score=87;    vec.push_back(stu);    stu.id=3;    stu.score=70;    vec.push_back(stu);    for_each(vec.begin(),vec.end(),print);    cout<<"--------------pop_back() 删除-----------------"<<endl;    vec.pop_back();    for_each(vec.begin(),vec.end(),print);    return 0;}*/#if 0//vector类模板提供了成员swap()函数,以实现两个vector型容器之间的元素互换//如果两个参与交换的vector类型相同,交换会瞬间完成;//如果两个参与交换的vector对象中的元素类型不同,在实现对象交换的过程中,操作将非常复杂#include<iostream>#include<vector>#include<algorithm>using namespace std;void OutPut(int &Ele){    cout<<Ele<<"  ";}int main(){    vector<int> c1,c2;    for(int i=0;i<10;++i)    {        c1.push_back(i);        //c2.push_back(i*10);    }    for(int i=0;i<5;++i)    {        c2.push_back(i*10);    }    cout<<"c1 交换前:"<<endl;    for_each(c1.begin(),c1.end(),OutPut);    cout<<endl;    cout<<"c2 交换前:"<<endl;    for_each(c2.begin(),c2.end(),OutPut);    cout<<endl;    cout<<"-----------swap--------------"<<endl;    c1.swap(c2);    cout<<"c1 交换后:"<<endl;    for_each(c1.begin(),c1.end(),OutPut);    cout<<endl;    cout<<"c1 交换后:"<<endl;    for_each(c2.begin(),c2.end(),OutPut);    cout<<endl;    return 0;}#endif#if 0//vector<bool>类    vector<bool>只占用一个字节存储单个元素#include<iostream>#include<vector>#include<algorithm>using namespace std;void Iter_for(vector<bool> &vec){    vector<bool>::iterator it;    for(it=vec.begin();it!=vec.end();++it)    {        cout<<*it<<"  ";    }    cout<<endl;}int main(){    int arr[]={1,0,1,0,0,0,1,1,1};    vector<bool> vt;    int i=0;    for(i=0;i<9;++i)    {        vt.push_back(bool (arr[i]));    }    Iter_for(vt);    vt[5]=bool (1);    Iter_for(vt);    return 0;}#endif
原创粉丝点击