上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: void MergeSort(int low, int high) { int mid = (low + high) / 2; if (high - low < 1) { return; } MergeSort(low, mid); MergeSort(mid + 1, high); Merge(low, mid, high); } void Merge(int low, int mid, int 阅读全文
posted @ 2019-11-03 11:21 _No.47 阅读(307) 评论(0) 推荐(0)
摘要: 1、传统方法 这个方法时间复杂度太差了,在O(2^n),所以如果你这么解答面试官的问题,几乎得不了什么分。 2、改进 3、改为非递归 阅读全文
posted @ 2019-10-31 05:39 _No.47 阅读(282) 评论(0) 推荐(0)
摘要: 1、递归求和 2、递归求幂指数 优化:时间复杂度降低 3、分治递归 阅读全文
posted @ 2019-10-30 05:59 _No.47 阅读(345) 评论(0) 推荐(0)
摘要: 1、思路 每次都是相邻两个数之间进行比较; 每轮比较之后总是把最大的数或者最小的数筛选出来。 2、源码 3、优化 如果发现某一次循环已经全部有序了,那么就不再继续循环。 3、时间复杂度分析 最理想状态下是O(n),平均状态下是O(n^2) 阅读全文
posted @ 2019-10-29 05:12 _No.47 阅读(345) 评论(0) 推荐(0)
摘要: 1、容器的基本要求 a、并非所有的数据都可以放进容器当中。各种容器模板对所存数据类型都有一个基本要求——可复制构造。将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程。 b、容器中必须有若干与所存数据类型有关的嵌套定义类型。 C::value_type 容器所存数据类型 阅读全文
posted @ 2019-09-14 09:38 _No.47 阅读(369) 评论(0) 推荐(0)
摘要: 1、容器的定义 容器:专门用于某种形式组织及存储数据的类称为“容器”。 2、容器与迭代器 迭代器:封装了对容器虚拟数据序列的操作并按约定提供统一界面以遍历容器内容的代理类即为迭代器。 举例理解: 针对树形结构节点类型的迭代器: 尽管容器内部的数据结构类型不同(set是一个树形结构,而list是链表结 阅读全文
posted @ 2019-09-12 04:21 _No.47 阅读(379) 评论(0) 推荐(0)
摘要: 1、 所谓模板特例,是针对符合某种条件的模板参数值集合另外声明的模板实现变体。 template<typename T> class my_vector; template<> class my_vector<bool>; 2、特例的多种写法 template<typename T, int i> 阅读全文
posted @ 2019-09-10 05:39 _No.47 阅读(594) 评论(0) 推荐(0)
摘要: 非类型模板参数 和 模板型模板参数 整数以及枚举类型;指向对象或者函数的指针;对对象或函数的引用;指向对象成员的指针。统称为非类型模板参数。 模板型模板参数,是指模板参数还可以是一个模板。 1、整数模板参数 非类型模板参数的作用相当于为函数模板或类模板预定义一些常量,在生成模板实例时,也要求必须以常 阅读全文
posted @ 2019-09-07 11:12 _No.47 阅读(1456) 评论(0) 推荐(0)
摘要: 1、类的模板的使用 类,由于没有参数,所以没有模板实参推导机制。 2、模板类的继承 如果是普通类以模板实例为基类,需要为基类模板给定明确的模板参数值。例如, class another_stack:public my_stack<char>{} 3、异质链表 链表的类型为固定指向另一个类型节点的类, 阅读全文
posted @ 2019-09-06 07:27 _No.47 阅读(543) 评论(0) 推荐(0)
摘要: 1、通过一个简单的例子来理解模板的用途: 模板为不同类型的数据生成操作相同或相似的函数。 弱语言如Python,可以使用一种函数来应对各种类型,但是C++就不得不为不同的类型编写相似的函数。模板的作用就是把这一步骤交给编译器去执行,让这些函数在编译器生成。 2、模板参数的自动推导 原则:凡是可以推导 阅读全文
posted @ 2019-09-06 05:55 _No.47 阅读(1572) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 18 下一页