C++ vector、string使用

180it 2020-10-13 PM 1514℃ 0条

vector就是类似于一个数组的容器,内容比数组更加全面。很多操作都有自己的函数可以直接拿过来进行使用。主要函数就是:

v.push_back(k); 尾插元素;
v.insert(it,k); 在任意位置插入元素;
v.eraser(it,it+k); 删除任意元素;
v.size(); 容量;
v.clear(); 清空容器;
v.empty(); 判断容器是否为空;
reverse(v.begin(),v.end());反转任意段元素
sort(v.begin(),v.end(),cmp);sort排序默认由小到大,cmp可以自由规定排序规则。

迭代器声明:

vector::iterator it;// vector迭代器

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

bool cmp(const int &a,const int &b){
    return a>b;
}

int main ()
{
    set<int> c;
    queue<int> q;
    cout<<"------------[vector] 分割线-------------\n"<<endl;
    vector<int> v(1);
    v[0]=0;
    v.push_back(1);                        // 尾插元素 
    v.push_back(2);
    v.push_back(3);
    v.push_back(4);
    v.insert(v.begin(),55);                // 插入元素 
    v.insert(v.begin()+1,66);
    
    vector<int>::iterator p;            // vector迭代器 
    for(p=v.begin();p!=v.end();p++)
        cout<<*p<<" ";
    cout<<endl;
    
    cout<<v.size()<<endl;                // vector元素个数 
    
    reverse(v.begin(),v.end());            // 反转vector 
    
    sort(v.begin(),v.end(),cmp);        // sort一下vector
    
    v.erase(v.begin()+1);                // 删除元素 

    v.clear();                            // 清空vector 
    
    cout<<v.empty()<<endl;
    cout<<v.size()<<endl;
    
    return 0;
}

string就是一个串类,在stl库中可以直接定义数据类型为string,而在c中只有字符类型和数组类型,串并不是一种类型,不过可以定义为字符数组来代替。这里面直接使用string可以更方便一点的。

include

include

include

include

using namespace std;

int main()
{

cout<<"------------[string] 分割线-------------\n"<<endl;
string s;
// 输入读取串 getline(cin,s); 
s="z2345";
s+="6789";
string::iterator it;                // string迭代器 
it=s.begin();

s.insert(it+1,'p');                    // string插入字符 

s.erase(it+2,it+4);                    // 删除[it+2,it+4)元素 

s.replace(6,2,"golfz");             // 替换下标为6长度为2的串 

cout<<s.find("z")<<endl;            // 查找子串,返回第一个出现的位置 

cout<<s.length()<<endl;                // 返回串的长度 

cout<<s<<endl;

vector<string> ff;                    // string对象作为vector对象 
ff.push_back("Jack");
ff.push_back("Tom");
ff.push_back("Mchical");
cout<<ff[2]<<endl;

return 0;

}

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

C++ vector、string使用