文章

14

粉丝

0

获赞

9

访问

984

头像
vector<>运用以及string类型
备考笔记
发布于2025年2月26日 00:03
阅读数 147

vector<string> strings;//vector 类似一个动态数组,可以通过strings[i]调用其值

strings.push_back(input);//这是vector的标准输入方式,可以防止溢出

sort(strings.begin(),strings.end(),cmp);//注意string类型具有特殊性,需要使用.begin()方法来实现首地址读取,即使其对应的数组类型也一样

登录查看完整内容


登录后发布评论

5 条评论
Chenrui Xu
2025年3月3日 16:09

使用auto自动我理解错了

for (const auto& it: mergeds) {
    total += it.end - it.start + 1;

mergeds是迭代目标,it是迭代器。

 

赞(0)
Chenrui Xu
2025年3月3日 16:02

对于vector我们有三种遍历方法。

1.使用auto自动

for (const auto& interval : merged) {
    total += interval.end - interval.start + 1;
}//迭代器自动获取interval的类型,并计算地址偏移量。

//这里使用const &目的是指通过间接引用的方式访问元素,不修改其内容。

 

2.使用传统方法

for (auto it = merged.begin(); it != merged.end(); ++it) {
    total += it->end - it->start + 1;
}

这里是通过auto it作为迭代器来实现的,注意一点,it是指针类型,用->

3.使用size_t特殊的类型作为索引

for (size_t i = 0; i < merged.size(); ++i) {
    total += merged[i].end - merged[i].start + 1;
}

赞(0)
Chenrui Xu
2025年3月3日 15:51

对容器内部元素的修改

Intervel& last=mergeds.back();//通过.back()取出加上&直接引用实现

此时我们接下来对last的修改都会影响到mergeds中的最后一个元素。

 

 

赞(0)
Chenrui Xu
2025年3月3日 15:35

typedef struct
{
    int start;
    int end;
}Intervel;

intervels.push_back({a,b});//加入元素 

vector容器存储结构体变量方式 

 

赞(0)
Chenrui Xu
2025年3月3日 15:31

string s = strings.back() //获取输出最后一个元素

.size()//返回大小

.empty()//清空

赞(0)