随笔分类 -  C++

摘要:STL 一共给我们提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr,auto_ptr 是 C++98 提供的解决方案,C+11 已将其摒弃,并提出了 unique_ptr 作为 auto_ptr 替代方案。虽然 auto_ptr 已被摒弃,但在实 阅读全文
posted @ 2019-09-05 17:12 林深处见鹿 阅读(678) 评论(0) 推荐(0)
摘要:题目描述 西昂是一名运油商。他通过管道网将炼油厂的有运输到主存储装置。管道呈网形,其中基础炼油厂是根,主存储装置是这棵树的叶子。管道通过内部连接站连接到各个存储装置,管道可以具有不同的传输速率[单位时间内的油升数]。他需要找出在任何给定时间内课通过管道网络传输的最大油量。 输入 函数/方法的输入包括 阅读全文
posted @ 2019-09-03 15:15 林深处见鹿 阅读(537) 评论(0) 推荐(0)
摘要:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态 阅读全文
posted @ 2019-09-03 15:04 林深处见鹿 阅读(2826) 评论(0) 推荐(0)
摘要:原博地址:https://blog.csdn.net/ls291187101/article/details/51891974(字符串匹配算法综述:BF、RK、KMP、BM、Sunday)。写的很好,特意粘贴过来,转载。非常感谢原作者创作。 字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司 阅读全文
posted @ 2019-09-01 09:59 林深处见鹿 阅读(897) 评论(0) 推荐(0)
摘要:题目描述: 求字符串中出现次数最多的子串的出现次数。 例如字符串abcbcbcabc,出现次数最多的子串是bc,出现次数为4 思路:利用后缀数组: abcbcbcabc 第0个 bcbcbcabc 第1个 cbcbcabc 第2个 bcbcabc 第3个 cbcabc 第4个 bcabc 第5个 c 阅读全文
posted @ 2019-09-01 09:36 林深处见鹿 阅读(3088) 评论(0) 推荐(0)
摘要:string转char 。 主要有三种方法可以将str转换为char 类型,分别是:data(); c_str(); copy(); 1.data()方法,如: 同时有一点需要说明,这里在devc++中编译需要添加const,否则会报错 ,这里可以再前面加上const或者在等号后面给强制转化成 的类 阅读全文
posted @ 2019-08-30 16:16 林深处见鹿 阅读(237) 评论(0) 推荐(0)
摘要:类的大小计算 关于类的内存大小,需要注意: 1.虚函数,编译器需要为类构建虚函数表,类中需要存储一个指针指向虚函数表的首地址; 2.静态成员函数,类的所有实例共享,不被sizeof计算在内; 3.普通函数或静态普通函数,都存储在栈中,不被sizeof计算在内; 例 根据内存对齐规则,funa() 和 阅读全文
posted @ 2019-08-28 21:25 林深处见鹿 阅读(508) 评论(0) 推荐(0)
摘要:算式转移 题目描述 给出一个仅包含加减乘除四种运算的算式(不含括号),如1+2 3/4,在保持运算符顺序不变的情况下,你可以进行若干次如下操作: 如果交换相邻的两个数,表达式值不变,那么你就可以交换这两个数。 现在你可以进行任意次操作,使得算式的数字序列字典序最小,然后输出结果,数字之间的字典序定义 阅读全文
posted @ 2019-08-28 10:49 林深处见鹿 阅读(448) 评论(0) 推荐(0)
摘要:多重背包问题 前面的01背包问题中,每种商品(物品)只有一件,而当遇到每种物品超过一件的情况叫做多重背包问题。 下面请看这道编程题: 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且 阅读全文
posted @ 2019-08-27 16:13 林深处见鹿 阅读(434) 评论(0) 推荐(0)
摘要:5.快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可 阅读全文
posted @ 2019-08-26 10:41 林深处见鹿 阅读(225) 评论(0) 推荐(0)
摘要:4.插入排序 插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中, 阅读全文
posted @ 2019-08-26 09:55 林深处见鹿 阅读(192) 评论(0) 推荐(0)
摘要:3.选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择 阅读全文
posted @ 2019-08-26 09:48 林深处见鹿 阅读(151) 评论(0) 推荐(0)
摘要:现在的IT行业并不像以前那么好混了,从业人员过多,导致初级程序员过剩,这也间接导致了公司的招聘门槛越来越高,要求程序员掌握的知识也越来越多。 算法也是一个争论了很久的话题,程序员到底该不该掌握算法?不同的人有不同的答案,而事实上,很多公司都对算法有一定的要求,有些公司直接在面试的时候便会要求面试者手 阅读全文
posted @ 2019-08-26 08:55 林深处见鹿 阅读(183) 评论(0) 推荐(0)
摘要:题目描述 某公司由N名员工,给定所有员工工资的清单,财务人员要按照特定的顺序排列员工的工资,他按照工资的频次降序排列,即给定清单中所有频次较高的工资将在频次较低的工资之前出现。如果相同数量的员工都有相同的工资,则将按照给定清单中该工资第一次出现的顺序排列。 写一个算法来帮助财务人员排列员工工资顺序。 阅读全文
posted @ 2019-08-25 22:11 林深处见鹿 阅读(523) 评论(0) 推荐(0)
摘要:题目描述 维克多博士创造了一个裂变反应堆,可取用处于液体状态的放射性物质。反应堆的容量是V加仑。他有N瓶的放射性液体,每个都有一定的质量和一定的体积。当液体倒入反应堆时,也产生一些单位的能量。现在,维克多想要将能量输出最大化。但是,有一个限制条件。他研究了原子元素的物理知识和历史,认识到反应堆内放射 阅读全文
posted @ 2019-08-25 21:49 林深处见鹿 阅读(337) 评论(0) 推荐(0)
摘要:今天刷题的时候碰到如下的一道题: int main() { int array[2019] = { 0 }; array[19] = 2019; unsigned long offset = (unsigned long)((short )array + 2019) (unsigned long)( 阅读全文
posted @ 2019-08-25 09:58 林深处见鹿 阅读(3319) 评论(0) 推荐(0)
摘要:链接:https://www.nowcoder.com/questionTerminal/c4e82d13a1684119841b8934ef838847?orderByHotValue=1&mutiTagIds=569&page=1&onlyReference=false 来源:牛客网 执行如下代 阅读全文
posted @ 2019-08-20 20:54 林深处见鹿 阅读(1013) 评论(0) 推荐(0)
摘要:| 数据类型 | 16位系统(byte) | 32位系统(byte) | 64位系统(byte) | 备注 | | | | | | | | char | 1 | 1 | 1 | | | short 、unsigned short | 2 | 2 | 2 | | | int、unsigned int 阅读全文
posted @ 2019-08-19 21:30 林深处见鹿 阅读(678) 评论(0) 推荐(0)
摘要:结构体的大小计算 结构体中可以定义的数据类型: 1.基本类型 2.上面已经出现过的数据类型,比如说上面已经定义过的结构体 3.指向自己的指针 因为内存对齐的问题,各个数据类型放的位置不同就会导致结构体的大小不一样,那么到底怎样计算一个结构体的大小呢? 先介绍一个概念——偏移量 ,结构体中的偏移量就是 阅读全文
posted @ 2019-08-19 21:12 林深处见鹿 阅读(2376) 评论(0) 推荐(1)
摘要:本文引用自《c函数中形参为引用的情况;C++中 a和 &a的区别》,原文地址:https://www.cnblogs.com/djtycm/p/7192858.html 引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量别名。这种传递参数 的方法称为按引用传递。按引用传递允许被调用的函数 阅读全文
posted @ 2019-07-17 20:03 林深处见鹿 阅读(259) 评论(0) 推荐(0)