STL中的Vector(顺序表)

vector容器的基本用法:

template<class T>

class vector

{

T* _a;

size_t size;

size_t capacity;

}

尾插和遍历:

cpp 复制代码
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);

//遍历
for(int i=0;i<v.size();i++)
{
    cout<<v[i]<<endl;
}

vector<int>::iterator it = v.begin();
while(it!=v.end())
{
    cout<<*it<<endl;
    ++it;
}

for(auto it:v)
{
    cout<<it<<endl;
}

vector<int> v(10,1) 定义一个变量开10个空间的大小,并初始化为1;

cpp 复制代码
vector<int> v;
v.reserve(100);//扩容100个空间大小

v.resize(100,0);//开100个空间并进行初始化

find函数是在库里面。vector里面没有find,使用find要调用头文件algorithm;

string用自己的find,因为string还有字串的查找需要使用find;

cpp 复制代码
vector<string>   v; 

string s1("苹果")
v.push_back(s1)//之前是这样的

v.push_back(string("理想"))//现在这样也是可以的

v.push_back(string("实现"))

v.push_back("实现")


vector<vector<int>>  vv;//是二维数组

杨辉三角:

cpp 复制代码
class Solution {
 public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv(numRows);
        for(int i = 0; i < numRows; ++i)
        {
            vv[i].resize(i+1, 1);
        }
        for(int i = 2; i < numRows; ++i)
        {
            for(int j = 1; j < i; ++j)
            {
                vv[i][j] = vv[i-1][j] + vv[i-1][j-1];
            }
        }
        return vv;
    }
 };
相关推荐
Cherl.4 分钟前
探索数据结构的时间与空间复杂度:编程世界的效率密码
c语言·数据结构·算法·时间复杂度·空间复杂度
Yu_Mao_Cat12 分钟前
数独求解器3.0 增加latex格式读取
开发语言·python·算法
ElvInR1 小时前
冒泡排序详解
c语言·c++·排序算法·冒泡排序
天若有情6731 小时前
探秘 C++ 计数器类:从基础实现到高级应用
java·开发语言·c++
进击的愤怒1 小时前
GIM发布新版本了 (附rust CLI制作brew bottle流程)
开发语言·后端·rust
x-cmd1 小时前
x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
开发语言·后端·rust·cargo·示例
春生野草1 小时前
如何用JAVA手写一个Tomcat
java·开发语言·tomcat
爱coding的橙子2 小时前
每日算法刷题计划day13 5.22:leetcode不定长滑动窗口最短/最小1道题+求子数组个数越长越合法2道题,用时1h
算法·leetcode·职场和发展
编程绿豆侠2 小时前
力扣HOT100之二叉树: 437. 路径总和 III
算法·leetcode·哈希算法