自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cypress的博客

程序员,修炼、提升

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 【SourceInsight】取消字体高度不一致(Draw View)

SourceInsight对于关键字,除了颜色不一样,其字体格式也有一些变化,尤其是部分关键字字体高度,如下图所示:通常,我们会利用高亮来标记某些关键字,在高亮及取消高亮过程中,由于字体高度变化,从而整体排版会视觉上的“抖动”,若不希望有这种“抖动”,则可以取消SI中这种字体高度不一致。快捷键:ALT+F12效果打开Draw View后,所有字体高度一致,从而在高亮与非高亮切换过程中,...

2019-01-06 14:54:35 994

原创 【SourceInsight】常用快捷键添加

SourceInsight阅读与编辑代码非常方便,但其中一些快捷键使用不是太方便,因此可以自行修改,同时SourceInsight可以保留原有快捷键,这样在保证自己使用方便的同时,也不影响其他人使用(这句话貌似是多余的,一般都只是自己使用)快捷键添加所有的快捷键添加、修改都在SI的Key Assignment面板中,具体操作如下所示:在command框中输入某已操作的关键字,右侧能够...

2019-01-06 12:31:59 1332 1

原创 C++ 类的默认函数

用户自定义一个类,简单的可以看成是一个新的类型,与C++标准里面的数据类型使用差不多。但在面向对象编程中,我们知道任何一个对象必须要通过构造函数才能创建,以及可以将一个对象拷贝给另一个对象,将一个对象作为参数传递给一个函数等。C++默认函数一个没有任何成员函数的类,其至少有如下四个默认函数 默认构造函数默认拷贝构造函数默认“=”运算符重载函数析构函数 既然是默认函数,那也就是说即便类里面

2016-12-19 16:24:05 1682

原创 C++ STL unordered_map介绍与使用方法

unordered_map(无序映射)对于map,前面已经提到过,其内部数据结构为红黑树,因此所有元素插入到map里面都会排好序,而且搜索过程为平衡二叉树搜索,因此时间复杂度为$O(logN)$。我们知道还有一种快速的搜索方法,那边是哈希(又名散列),利用哈希函数,通过哈希值能快速的查找到所需元素。unordered_map便是采用这种数据结构实现,unordered _map与map的使用基本一样

2016-12-15 13:35:06 47677 5

原创 C++ STL list介绍与使用方法

list(链表)链表也即链式表,在数据结构中,我们知道线性表的物理存储结构有两种,顺序表(数组)和链式表(结点)。链表是在堆中为每一个元素分配内存,然后利用指针将所有元素串起来。根据这种物理存储结构,我们很容易明白:链表在插入、删除效率上比较高,但没有办法随机访问,因此访问速度慢。 顺序表在STL中的实现为vector,其优点是元素访问速度快(元素存储在连续的数组中,可以直接通过索引计算元素地址)

2016-12-15 13:34:14 5539

原创 C++ STL deque介绍与使用方法

deque(双端队列)双端队列可以看成是在队列的基础上进行了扩展,我们知道队列的操作只能是在头尾,并且出队列只能是在头部,入队列只能是在尾部。同时双端队列又是顺序容器,因此可以随机访问每个元素。所以,双端队列综合了队列与序列容器的共同特点。 虽然deque是序列容器,但它与vector内部结构又完全不相同,vector内部是一个简单数组,如果需要更大的空间则重新分配内存,然后拷贝过去。deque

2016-12-15 13:33:33 1811

原创 C++ STL queue介绍与使用方法

queue(队列)队列也是一种逻辑数据结构,其具有先进先出的特性,针对这种特性,可以实现一些较为复杂的逻辑。在实际应用中,部分程序也正需要这样一种顺序进出的数据处理方式。使用这样的逻辑处理方式,使得我们可以将更多精力放在如何处理顺序逻辑之外的事情,对于编程、开发来讲,提供了极大的方便。 同stack类似,queue也可以看成是容器的容器,内部是使用其它容器来存放具体数据。加了一个外壳,使得我们的

2016-12-15 13:32:53 13220

原创 C++ STL stack介绍与使用方法

stack(栈)在学习数据结构中我们知道,栈是一种逻辑数据结构,其具有后进先出的特性。同时,我们也可以把它想象成一个容器,一个真实容器,添加与删除只能在容器顶部完成。栈的应用非常广,我们知道任何程序从内存进入CPU执行,系统为了保证程序正确的执行,将程序二进制代码存放在一个系统运行栈上面。调用函数A,则A的代码入栈,函数A中调用了函数B,则B入栈,B执行结束后,先出栈,这时再继续执行函数A。因此这种

2016-12-15 13:32:18 1855 2

原创 C++STL set介绍与使用方法

set(集合)set容器用来存储唯一元素,并且这些元素按照一定的规则排序。在一个集合里面,每个元素同时也是自身的关键字,与map相比,set的key与value是同一个值,所以每个元素必须是唯一的。同时,一旦某个元素插入到容器内,则不能修改其中任何元素,类比map,在map中也不能修改key。但set容器可以插入与删除。 set作为关联容器,与map一样,其内部数据结构为红黑树。 关

2016-12-15 13:31:33 1313

原创 C++STL map介绍与使用方法

map(映射)map是STL的一个关联容器,它提供一对一的数据处理能力(其中第一个可以成为关键字,且每个关键字只能在map出现一次,第二个可以称为该关键之的值),将关键字与该关键字的值组合在一起进行存储。由于具有一对一的特性,它能够完成我们处理一对一的数据时,在编程上提供快速通道。前面容器对比提到,map内部数据结构是红黑树(一种非严格意义上的平衡二叉树),这棵树具有对数据自动排序的功能,所以在ma

2016-12-15 13:30:56 1630

原创 C++STL bitset介绍与使用方法

bitsetbitset主要是用于存储二进制位,在需要大量二进制计算的项目中,直接使用bitset比利用数组或者其它方式要更为方便,位运算在存储状态、模拟行动、搜索很多方面有非常巨大的优势头文件:#include 构造函数bitset<16> first; //构造一个16位的bitset对象,初始值默认为0bitset<16> second(177); //构造一个16位的bitset对象,

2016-12-15 13:30:06 1490

原创 C++STL vector介绍与使用方法

vector(向量)在前面对比分析里面提到,vector内部数据结构是动态数组,也即顺序表,因此vector拥有访问数据快的优点, 但同时也有插入、删除效率低的缺点。同时,由于是动态数组,因此不需要考虑数据大小的问题,一旦vector内存空间不足,会自动重新分配内存,然后将数据拷贝到新的内存空间。 vector也是最为常用的序列容器,完全可以替换数组来使用,这样在编程过程中也会减少很多错误,同时

2016-12-15 13:29:18 777

原创 C++ string类介绍与使用方法

string(字符串)在程序设计过程中,字符串使用非常频繁,在C语言里面,所有字符串处理均是基于字符数组,包括一系列字符串处理函数,均是作用与字符数组之上。但在使用数据的过程中,会出现很多问题,比如字符数组越界,内存分配,包括一些函数作用于数组之上都比较麻烦,因此在C++里面提供了专门处理字符串的类string。在使用string时,我们完全可以将其视为一个基本的数据类型。同时,前面容器对里面提到,

2016-12-15 13:28:38 859

原创 C++ STL容器部分对比分析

STL容器有如下分类: 1. 序列容器:vector, list, deque, string 2. 关联容器:set, multiset, map, multimap, hash_set, hash_map, hash_multiset, hash_multimap 3. 其它:stack, queue, bitset序列容器对比string类

2016-12-15 13:27:58 1045

原创 C++ STL Algorithm部分概述

相比现在的一些脚本语言,C++在开发效率上显得有点跟不上节奏,主要是 C ++ 在给人感觉能够直接使用的第三方库太少,相比Python、Node.js等一些脚本语言,他们在开源社区有人源源不断的提供开源库,使得你在开发项目时可以像堆积木一样玩耍。C++ STL标准模板库(STL)里面提供了一些常用的函数接口,这些常用的函数主要是配合STL里面的容器、迭代器进行使用。

2016-12-15 13:25:16 476

原创 腾讯2016笔试题(螺旋矩阵)

//问题描述/*输入一个整数n,输出n阶方阵,也即n*n的矩阵如:n=4,输出如下1  2  3  412 13 14  511 16 15  610  9  8  7可以看成是数列一层一层往里增加最外面一层可以分为四段1  2  3      ........A4  5  6      ........B7  8

2016-04-20 14:40:54 795

原创 腾讯2016实习笔试题(最长回文子序列)

//问题描述回文串:首位相同的字符串,如:abba   aca回文序列:在字符串里面删除一个或多个字符,剩余的字符组成回文串。如:abbceda    删除"ced",剩余abba组成回文序列最长回文子序列:一个字符串里面所有回文序列里面,最长的序列。//问题求解//判断回文字符串很简单,直接同时首尾遍历字符串,只要找到不相同的则不是回文字符串//容易想到的暴力解决

2016-04-20 10:33:02 1228

原创 五个整数任意组合(加减)得到1~122之间的数

//问题描述/*给定五个整数1,3,9,27,81,这个五个整数可以任意组合进行加减(可以是五个数中的部分相加),这五个数组合进行加减可以得到1~122之间的数, 任意输入1~122之间的一个整数,得到其相应的组合,并且按照由大到小的顺序输出其表达式    示例输入输出    输入:5    输出:9-3-1*/ 之前写过一个华为

2016-04-11 14:18:03 2534

原创 字符串内特殊字符处理‘#’‘@’

//问题描述/*输入一个字符串,里面包含特殊字符‘@’‘#’,对每个字符串作如下处理1. 如果遇到‘@’,则删除‘@’之前的所有字符(包括‘@’)2. 如果遇到‘#’,则删除‘#’之前的一个字符(包括‘#’)*///问题分析:最直接的办法,遍历整个字符串,遇到‘@’‘#’再做相应处理,处理可以是直接删除,但需要注意的是,如果直接删除,删除会改变字符串大小,遍

2016-04-11 10:20:12 1495

原创 京东2016笔试题 小东拉票

//小东拉票/*输入:输入有若干组,每组包含两行,第一行为一个正整数n(2第二行为每个候选人预期得到的选票数(第一个为小东的预期选票数),以空格分开,每人的预期得票数在1到1000之间(包含1和1000)经过小东的争取后,可能出现候选人的票数为0或超过1000的情况输出:对每组测试数据,单独输出一行,内容为小东最少需要争取的选票数样例输入:5

2016-04-11 10:17:53 837

原创 京东2016笔试题,小东复习

问题描述:临近期末,让小东头疼的考试又即将到来了,而且是小东最不喜欢的科目,遗憾的事,小东得知d天后他必须参加此次考试,小东的父亲对他非常严格,要求他立即开始复习功课。为照顾她的情绪,父亲要求她每天该科目的学习时间在iminTime到imaxTime之间,并计划在考试前检查小东是否按要求做了。若未能完成,小东将会受到惩罚。现在小东的父亲要求检查小东的备考情况。遗憾的事,由于

2016-04-11 10:07:01 1877

原创 Windows平台音视频服务器 Darwin Streaming Server安装与使用

最近所做的项目中,需要一个小型的视频服务器,用于为客户提供视频流服务,在网络上找了一些资源,一开始是打算用live555的,这是一个开源的音视频流媒体服务器,但在使用过程中,效果始终不理想,而且也不支持mp4格式的视频,网上有一些文章介绍如何重新编译live555源码,从而可以支持MP4格式视频,但实在太复杂。后面又找到了DSS,这是苹果提供的一个开源流媒体服务器,同时也支持MP4格式,下面就详细

2015-03-25 15:43:59 1427

原创 华为2013上机题目 五个数字加减

#include #include using namespace std;static int arr[5] = {1, 3, 9, 27, 81};int arrTmp[5];int sign[5]; //0表示为0,1表示正,2表示为负int getSum(){ int sum = 0; for (int i = 0; i < 5; i++) { ar

2015-03-16 11:08:58 1194

原创 华为2013 上机题目 奇数与偶数之和

1.分别求整数数组里面的奇数与偶数之和   问题描述:从标准输入里面接收一个字符串,整数之间用逗号(“,”)隔开,如2,3,5,7,9,10,打印最终结果,并且用逗号隔开(另外还有一些限制对问题影响不大)   示例输入与输出:   输入:2,3,5,8,9   输出:17,10   解题思路,从获取到的字符串里面解析出每个整数,再完成奇数与偶数之和的计算

2015-03-16 11:05:10 599

CSV文件合并工具

最近用到CSV文件合并较多,但网上找了一些不太好使用,所以自己写了一点。文件合并的部分代码,一开始是完全用C语言写的,后面用MFC加了界面。有需要的可以拿去参考。 本身工具很简单,一开始想利用python,但后面想,python还需要安装解释器,比较麻烦,所以就直接写了这个C语言工具。

2018-08-22

空空如也

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

TA关注的人

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