摘要: stack, deque 和 queue这三个c++的STL的数据结构很类似但又各有不同。 stack是堆栈,没有迭代器,特点是后进先出。用push()将元素压入栈中,top()返回栈顶元素,pop()移除栈顶元素。 deque是双端队列,支持迭代器,使用push_back()在队尾添加元素,pop 阅读全文
posted @ 2020-05-12 15:33 卖雨伞的小男孩 阅读(736) 评论(0) 推荐(0) 编辑
摘要: STL中的容器可以分为两大类: 1、顺序容器:list,queue,vector 2、关联容器:map,set(当然对应的有multimap,multiset) 其中vector的存储结构是数组,其它的存储结构是链表。 言归正传,现在看一下vector和set的区别: 首先vector属于顺序容器, 阅读全文
posted @ 2020-05-12 15:30 卖雨伞的小男孩 阅读(3502) 评论(0) 推荐(1) 编辑
摘要: set集合是c++ stl库中自带的一个容器,set具有以下两个特点: 1、set中的元素都是排好序的 2、set集合中没有重复的元素 常用操作: begin() 返回set容器的第一个元素的地址 end() 返回set容器的最后一个元素地址 clear() 删除set容器中的所有的元素 empty 阅读全文
posted @ 2020-05-12 15:28 卖雨伞的小男孩 阅读(2196) 评论(0) 推荐(0) 编辑
摘要: begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊条目的迭代器对 erase() 删除一个元素 find() 查找 阅读全文
posted @ 2020-05-12 15:25 卖雨伞的小男孩 阅读(374) 评论(0) 推荐(0) 编辑
摘要: map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。 map和set区别在于: (1)map中的元素是key-value 阅读全文
posted @ 2020-05-12 14:21 卖雨伞的小男孩 阅读(3213) 评论(0) 推荐(0) 编辑
摘要: 在C++中,声明自定义的类型之后,编译器会默认生成一些成员函数,这些函数被称为默认函数。其中包括 (1)(默认)构造函数 (2)拷贝(复制)构造函数 (3)拷贝(复制)赋值运算符 (4)移动构造函数 (5)移动赋值运算符 (6)析构函数 另外,编译器还会默认生成一些操作符函数,包括 (7)opera 阅读全文
posted @ 2020-05-12 14:17 卖雨伞的小男孩 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 1、strcpy原型实现 char * my_strcpy(char *des,const char *src) { assert((des != nullptr) && (src != nullptr)); char *address = des; while (*src != '\0') { * 阅读全文
posted @ 2020-05-12 14:01 卖雨伞的小男孩 阅读(249) 评论(0) 推荐(0) 编辑