前言
CPP
集合(Set)t是一种
2024年10月10日
在写 Chrome插件时「插件分享,头条文章代码高亮,助力程序员文章分享」,刚好用到 Set 这个数据结构,所以这期就来谈谈 Set。
2024年10月10日
dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。
有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
2024年10月10日
遍历可以说是对数据结构最常见的操作。之前说基本的操作是“增删改查”,但是遍历,就是要让我们找到,要对谁进行“增删改查”。一般,会结合一些 if 判断,来进行操作。
所以在准备这期文章时,我在删除那里停顿了很久。想不明白为什么边遍历边删除,要用 Iterator + remove,后来自己写了一个例子,放在文末。自觉非不用也没有关系,就是写出来很奇怪。欢迎批评指正。
2024年10月10日
看起LeetCode算法,便尝试用C++做一些简单的算法题.一直没接触到C++的键值对集合. 在C++键值对集合分为顺序和无序的.
int main(int argc, char *argv[]) {
//使用set 需要引入set头文件
set<int> set1; //方式1 定义并初始化一个set
set<int> set2{1, 2, 3}; //方式而 初始有值的set集合
int arr[] = {3, 2, 4};
set<int> set3(arr, arr + sizeof(arr) / sizeof(int));
//在set添加元素
set3.insert(1);
//遍历set
for (set<int>::iterator iter = set3.begin(); iter != set3.end(); iter++) {
cout << *iter << " ";
}
cout << endl;
//简历遍历元素的方式
for (auto item : set3) {
cout << item << " ";
}
cout << endl;
//移除元素
set3.erase(1);
cin.get();
return 0;
}
2024年10月10日
由于set存储的是无序集合,所以我们没法通过索引来访问。
访问 set中的某个元素实际上就是判断一个元素是否在set中。
例如,存储了班里同学名字的set:
>>> s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
2024年10月10日
[洛谷日报第7期]STL整理之set
Set是什么?
Set是C++STL中提供的容器,set是数学上的集合——具有唯一性,即每个元素只出现一次,而multiset则是可重集,两者的内部实现是一棵红黑树,它们支持的函数基本相同
Set的相关操作
头文件与声明
像这样:
就像其他需要排序的数据类型一样,为一个结构体的set,需要重载小于号
set.size()
2024年10月10日
今天我们来说一下比较基础的一个面试问题 map 、list、set的遍历问题。今天我们重点了解下map的遍历问题也是面试中最常遇到的问题:
Map<Integer,Integer> map=new HashMap<Integer,Integer>();