C++之STL中sort函数的内部实现(二)

另外一个版本:概述先进行introsort,基本有序后再使用insertion sort。introsort是改进的quick sort,为了防止最坏情况发生,它使用__lg()函数控制分割恶化的情况。intro sort算法 元素个数检查,大于16个才进行后续操作; 分割层次检查,分割层次超过指...

2015-05-20 12:45:31

阅读数:2446

评论数:0

C++之STL中sort函数的内部实现(一)

概述STL中提供了一个sort()函数,用于排序。它的实现虽然是基于我们熟悉的quick sort, insertion sort, heap sort,但是内部却庞大复杂。sort()函数只能接受RandomAccessIterators,list slist都不能使用。 STL中的sort(...

2015-05-20 11:17:58

阅读数:4954

评论数:0

c++中的覆盖(override)、重载(overload)与隐藏

定义覆盖(override)覆盖(override)指的是子类重定义父类中的虚函数。特征: 分别位于具有继承关系的子类和父类中; 父类中的某个函数带有virtual关键字; 子类中有与之函数名相同、参数列表相同、返回值相同的函数。 重载(overload)重载(overload)指的是在同一范围内...

2015-05-18 10:35:18

阅读数:1654

评论数:0

C++之STL中set的用法总结

set概述和vector、list不同,set、map都是关联式容器。set内部是基于红黑树实现的。插入和删除操作效率较高,因为只需要修改相关指针而不用进行数据的移动。 在进行数据删除操作后,迭代器会不会失效呢?删除set的数据时,实际的操作是删除红黑树中的一个节点,然后相关指针做相关调整。指向...

2015-05-16 21:39:08

阅读数:18267

评论数:0

c++之stl中的stack用法总结

stack概述stack是一种“先进先出(FIFO)”数据结构。不允许被遍历,没有迭代器。操作::empty();//判空 ::size();//元素个数 ::top();//返回栈顶元素的引用 ::push(const value_type& x);//进栈 ::pop();//删除栈顶...

2015-05-15 19:16:51

阅读数:3284

评论数:0

C++之STL的list用法总结

list概述vector是连续空间,是基于数组的。list是基于链表的,STL的list是双向循环链表。list的元素操作::push_front(const T& x);//插入一个节点,并作为头结点 ::push_back(const T& x);//插入一个尾节点 itera...

2015-05-15 15:39:05

阅读数:1893

评论数:0

C++之STL中vector的总结

一、概述vector和数组类似,但是当空间不够用的时候vector可以动态追加空间。追加空间时并不是追加一个元素的空间,而是直接另外申请一个容量加倍的空间然后将原数据拷贝到新空间、释放原空间。二、元素操作 1.push_back(elemType elem) 在数组的最后添加一个数据 2.po...

2015-05-15 12:28:00

阅读数:1655

评论数:0

C++中static关键字用法总结

C++中static关键字有两类用法:和C语言用法相同的static和C++面向对象程序中的static。前者是静态全局变量、局部变量和静态函数,后者是类中的静态变量和静态函数。一、和C语言用法相同的static1、静态全局变量特点: - 未初试化的话会被自动初始化为0; - 静态...

2015-05-14 15:39:45

阅读数:1581

评论数:0

C++ vector

C++中vector的 函数列表如下: Constructors 构造函数  Operators 对vector进行赋值或比较  assign() 对Vector中的元素赋值  at() 返回指定位置的元素  back() 返回最末一个元素  begin() 返回第一个元素的...

2014-10-12 15:02:38

阅读数:1595

评论数:0

C++ STL set

set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 平衡二叉检索树使用中序遍历算法,检索效率高于vect...

2014-10-12 14:52:18

阅读数:1601

评论数:0

标准c++中的string类

相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后...

2014-10-12 14:46:48

阅读数:1601

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭