merge算法,只能对有序的算法进行排列
容器是指存储有限数据元素的一种数据结构。比如栈(stack),队列(queue)…
数据结构,我们研究把数据按照特定的方式排列起来,便于我们查找 删除 排序或者其他一些目的,这种不同的排列方式我们就可以叫数据结构。
容器可以包含容器序列式容器和关联式容器。
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。
以有限的步骤,解决逻辑或者数学上的问题,这门学科我们就叫做算法。
STL中容器和算法的设计是彼此分离,这样的好处就是:
1 容器和算法的编写可以分别编写,互补影响
2 容器只需要提供迭代器 算法只需要拿到迭代器就可以完成容器和算法之间的关联和操作
vector是动态数组,连续内存空间,具有随机存取效率高的优点。
vector是单口容器,在队尾插入和删除元素效率高,在指定位置插入会导致数据元素移动,效率低。
问:reserv和resize的区别?
答: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素.
resize是改变容器的大小,且在创建对象,因此,调用这个函数之后,就可以引用容器内的对象了.