自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 【C++】reserve( ) 和resize( ) 函数的区别(小结)

**显然,** reserve和resize的共同点如下:- 当 填写的n值<=当前值 时,都不会缩减容器本身的容量,即对原内存空间并无影响。- 当 填写的n值>当前值 时,都会增大容器本身的容量 即capacity会变化。reserve和resize的区别点如下:- reserve在不能改变容器容量时,什么都不做;reserve在能改变容器容量时,只会增加capacity即容器冗余量,但容器的size不会变化。- resize在不能改变容器容量的时候,有可能增加/减少了元素个数即size(

2019-04-30 18:46:31 3250 1

原创 【C++】strlen 和sizeof 的区别(小结)

strlen和sizeof 区别一、sizeof 运算符:计算所占的字节大小sizeof()是运算符,其值在编译时 就已经计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、...

2019-04-23 22:18:17 17678 10

原创 【C++】C/C+内存管理

【本节内容】C/C++ 内存分配C/C++ 内存管理operator new和operator deletenew和delete实现原理malloc/free和new/delete的区别和联系1.C/C++ 内存分配对什么数据应该存在哪里,我再做一个更详细的分析(地址由高到低)内核空间:用户代码不能进行读写在32位机器中,程序的内存一般都是4G。其中0~3G由用户自由操作...

2019-04-23 21:14:07 365 1

原创 【LeetCode】奇偶链表

题目描述:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。说明:应当保持奇数节点和偶数节点的相对顺序。示例:示例 1:输入: 1->2->3->4->5-...

2019-04-20 22:09:28 299

原创 【C++】STL进阶-- 树形结构的关联式容器(set和multiset)

我在上篇博客中讲到另外两个关联式容器:STL进阶之树形结构的关联式容器 —— map和multimap6. set7. multiset8.四种关联式容器的比较

2019-04-17 23:44:06 671

原创 【C++】map统计元素个数并且排序,用三种方法实现

我在上篇博客中讲到,map的主要特点是 会将所有键值对按key 值升序排列 且map中的key值不允许重复, 想了解关于map 和multimap 更多知识的可以查看下面的这篇博客:STL进阶之树形的关联式容器——map下面我们就应用map的三种接口实现和map有关的排序1. find(key) + iterator insert(iterator position,make_pair())...

2019-04-17 23:17:55 4908 3

原创 【C++】STL进阶-- 树形结构的关联式容器(map和multimap)

1.理解键值对2.map 的使用3.multimap 的使用4.底层结构## 1.键值对键值对是用来表示一对一的数据映射关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表关键字,value代表与key对应的信息值。我们生活中有许多这样的对应关系,例如英汉互译字典就是典型的<k,v>模型。每个中文词语与英文单词就存在着一一映射的关系,我们用其他数据结构描述出这样的关系可能需要很多辅助,但是用map就能轻易的进行描述。这就是键值对为我们**在用编程处理一对一数据的时候,提

2019-04-17 00:21:24 897 2

原创 【LeetCod】前k个高频元素

题目描述给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]输入: nums = [1], k = 1输出: [1]解题思路利用map将数组nums中的值统计个数并按关键字排序得到countmap。利用multimap将countmap中的数按第二个值降序排列得到sortmap。用ve...

2019-04-13 22:40:06 130

原创 【LeetCod】前k个高频单词

题目描述给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。注意,按...

2019-04-13 18:53:19 343 2

原创 【LeetCode】分隔链表

题目描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解题思路一、直接新建两条链,一条链接小于x的值,另一条链...

2019-04-13 00:01:22 214

原创 【LeetCode】 合并两个有序链表

题目描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路以第一个数较小的链为主链,将另一条链的结点依次插入主链中即可。C++ 完整代码/** * Definition for singly-l...

2019-04-12 20:18:28 88

原创 【LeetCode】两数之和

题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路...

2019-04-12 15:18:39 65

原创 【 LeetCode --3】无重复字符的最长子串

题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符...

2019-04-10 15:45:31 109

原创 【LeetCode --2】两数相加 [C++]

题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储 一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。这里假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8...

2019-04-10 14:16:05 619

原创 【C++】这些函数不能声明为虚函数的原因

内联函数:

2019-04-10 00:02:35 1428

原创 【C++】C++的类型转换

【本节内容】1. C语言中的类型转换2. C++强制类型转换(explicit关键字阻止隐式转换的发生)3. RTTI1.C语言中的类型转换首先我们看一段代码了解C语言中的类型转换void Test() { int i = 1; // 隐式类型转换 double d = i; printf("%d, %.2f\n" , i, d); //...

2019-04-08 20:07:16 281

原创 【C语言】模拟实现通讯录管理系统(完整代码)

这里我将实现一个文件型通讯录,使得我们的通讯录能将信息保存在文件里。看起来更像一个通讯录管理系统。我主要实现的功能有以下几点:void InitContact(Contact* pcon); //初始化通讯录void DstoryContact(Contact* pcon); //销毁通讯录void AddContact(Contact* pcon); //添加...

2019-04-08 18:29:29 12047 1

原创 【C++】使用友元/内部类时常见的问题(总结)

友元函数的总结我在之前的博客friend友元和内部类 中讲到过,有需要的可以查看:https://blog.csdn.net/ly_6699/article/details/88079162我总结了主要的几个知识点:1)C++引用友元函数是为该类提供一个(除自己以外)的访问窗口。2)这个友元函数并不是该类的成员函数,它是一个定义在类外的普通函数,只是在类中声明该函数可以直接访问类中的pri...

2019-04-08 17:00:46 1343

原创 【C++】智能指针 RAII

1. 智能指针的使用和原理: RAII+重载操作符 * 和 -> 2. 三种智能指针的介绍 auto_ptr:原理- 管理权转移,不足- 拷贝后前指针悬空会导致出现野指针,禁止使用 unique_ptr:原理- 禁止任何拷贝,不足- 无法完成拷贝,可鼓励使用 shared_ptr:原理- 通过引用计数实现资源共享,不足- 会出现线程安全和循环引用的问题,不过循环引用问题的解决可用weak_ptr

2019-04-07 22:43:12 394

原创 【C++】异常

【本节目标】1.C语言传统的处理错误的方式2.C++异常概念3.异常的用法4.异常体系5.异常的优缺点1.C语言传统的处理错误的方式传统的错误处理机制:终止程序,如assert,缺陷:用户难以接受只发生小错误时就终止程序。返回错误码,缺陷:需要程序员根据errno表去查找对应的错误。C 标准库中setjmp和longjmp组合。这个不是很常用实际中C语言基本都是使用返回错误...

2019-04-07 14:39:39 157 2

原创 【软件测试】应用白盒测试实例

⦁ 白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。⦁ 采用白盒测试方法必须遵循以下几条原则,才能达到测试的目的:⦁ 保证一个模块中的所有独立路径至少被测试一次。⦁ 所有逻辑值均需测试真 (true) 和假 (false) 两种情况。⦁ 检查程序的内部数据结构,保证其结构的有效性。⦁ 在上下边界及可操作范围内运行所有循环。

2019-04-01 23:31:48 22215 11

原创 【软件测试】黑盒测试

1.黑盒测试概述黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。黑...

2019-04-01 22:48:09 3548 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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