C++学习
dxx707099957
这个作者很懒,什么都没留下…
展开
-
【c++学习】标准库类型vector
一、标准库类型vector 标准库类型vector标示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个阈值对应的索引,索引用于访问对象。因为vector“容纳着”其他对象,所以它也常被称作容器。要想使用vector,必须包含适当的头文件。 <span style="font-size:14px;">#include <vector>...原创 2016-04-06 09:56:33 · 382 阅读 · 0 评论 -
STL标准库-容器-unordered_set
unordered_set与与unordered_map相似,这次主要介绍unordered_setunordered_set它的实现基于hashtable,它的结构图仍然可以用下图表示,这时的空白格不在是单个value,而是set中的key与value的数据包有unordered_set就一定有unordered_multiset.跟set和multiset一样,一个key可以重复一个不可以un...转载 2018-07-13 15:26:12 · 1076 阅读 · 0 评论 -
C++中string类下的begin,end,rbegin,rend的用法
begin 语法:iterator begin(); 解释:begin()函数返回一个迭代器,指向字符串的第一个元素.end 语法:iterator end(); 解释:end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置).rbegin 语法:const reverse_iterator rbegin(); 解释:rbegin()返回一个逆向迭代器,指向字...转载 2018-07-31 20:54:12 · 2747 阅读 · 0 评论 -
C语言字符串与数字相互转换
在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。字符串是以“\0”作为结束符。C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数。 ● 字符串输出函数puts。 ● 字符串输出函数gets。 ● 字符串连接函数strcat。 ● 字符串复制函数strcpy。 ● 测字符串长度函数strlen。字符串是面试的重点考查部分的相关知识,...转载 2018-08-16 10:03:54 · 2012 阅读 · 0 评论 -
XOR异或运算
异或运算的性质:任何一个数字异或它自己都等于0。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。例:leetCode136136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时...原创 2018-09-05 16:44:18 · 10598 阅读 · 0 评论 -
__builtin_popcount计算二进制中多少个1
计算一个 32 位无符号整数有多少个位为1Counting out the bits 可以很容易的判断一个数是不是2的幂次:清除最低的1位(见上面)并且检查结果是不是0.尽管如此,有的时候需要直到有多少个被设置了,这就相对有点难度 了。 GCC有一个叫做__builtin_popcount的内建函数,它可以精确的计算1的个数。尽管如此,不同于__builtin_ctz,它并没...转载 2018-09-03 20:29:44 · 242 阅读 · 0 评论 -
如何使用位操作轻松有效地解决问题
位操作是算法操作比字短的位或其他数据的行为。需要位操作的计算机编程任务包括低级设备控制,错误检测和纠正算法,数据压缩,加密算法和优化。对于大多数其他任务,现代编程语言允许程序员直接使用抽象而不是代表那些抽象的位。执行位操作的源代码使用按位运算:AND,OR,XOR,NOT和位移。 在某些情况下,位操作可以消除或减少循环数据结构的需要,并且可以提供多倍的加速,因为并行处理位操作,但代码可能变...原创 2018-09-06 10:27:54 · 228 阅读 · 0 评论 -
C++ bitset——高端压位卡常题必备STL
bitset存储二进制数位。bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一。bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式foo[3]访问了它的第4个元素,就像数组一样。bitset有一个特性:整数类型和布尔数组都能转化成bitset。bitse...转载 2018-10-29 21:03:53 · 193 阅读 · 0 评论 -
C++ std::pair的用法
1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数...转载 2018-10-30 10:35:52 · 254 阅读 · 0 评论 -
C++ STL优先队列常用用法
一、相关定义优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于给队列里的元素进行了由大到小的顺序排序。元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则。优先级队列可以用向量(vector)或双向队列(deque)...转载 2018-10-30 10:50:14 · 2325 阅读 · 0 评论 -
关于lower_bound( )和upper_bound( )的常见用法
ower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_b...转载 2018-11-14 15:31:52 · 205 阅读 · 0 评论 -
C/C++ 学习笔记:istringstream、ostringstream、stringstream 类介绍 和 stringstream类 clear函数的真正用途
0、C++的输入输出分为三种:(1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 1、头文件[cpp] view plaincopyprint?#include <sstream> 2、作用istringstream类用于执行C++风格的字符串流的输入操作。 ostringstream类用于执行C++风格的字符串流的输出操...转载 2018-05-14 21:35:47 · 198 阅读 · 0 评论 -
C++/C语言函数:isalpha()函数
功能:判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0。在标准c中相当于使用“ isupper( ch ) || islower( ch ) ”做测试,语法: #include <ctype.h> isalpha( int ch ); ...原创 2018-05-02 17:13:36 · 2256 阅读 · 0 评论 -
标准C++中的String类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str转载 2017-03-20 16:01:00 · 273 阅读 · 0 评论 -
【c++学习】sscanf用法
名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都转载 2017-03-16 17:31:07 · 236 阅读 · 0 评论 -
C++中的STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识...转载 2018-03-29 19:18:43 · 117 阅读 · 0 评论 -
unordered_map的用法
在c++11以前要使用unordered_map需要 #include<tr1/unordered_map>//在unordered_map之前加上tr1库名, using namespace std::tr1;//与此同时需要加上命名空间[查找元素是否存在] 若有unordered_map<int, int> mp;查找x是否在map中 方法1...转载 2018-04-09 10:19:46 · 265 阅读 · 0 评论 -
auto 指定符
1) 在块作用域、命名空间作用域、循环初始化语句等中声明变量时,关键词 auto 可用作类型指定符。只要初始化器的类型被确定,则编译器会用来自函数调用的模板实参推导规则所决定的类型替换关键词 auto (细节见模板实参推导)。关键词 auto 可与修饰符组合,如 const 或 & ,它们将参与类型推导。例如,给出 const auto& i = expr; , i 的类型恰是虚构...转载 2018-04-09 10:53:10 · 144 阅读 · 0 评论 -
557. Reverse Words in a String III
Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.Example 1:Input: "Let's take LeetCode contest"Outpu...原创 2018-04-09 11:37:19 · 100 阅读 · 0 评论 -
C++中set用法详解
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在S...转载 2018-04-03 10:23:23 · 213 阅读 · 0 评论 -
500. Keyboard Row
Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.Example 1:Input: ["Hello", "Alaska", "Dad", "Peace"]Out...原创 2018-04-10 21:18:04 · 118 阅读 · 0 评论 -
【C++11新特性】 auto关键字
熟悉脚本语言的人都知道,很多脚本语言都引入了“类型自动推断”技术:比如python,可以直接声明变量,在运行时进行类型检查。随着C++11标准的发布,C++语言也引入了类型自动推断的功能,这就是我们今天要介绍的auto关键字。C++是一种强类型语言,声明变量时必须明确指出其类型。但是,在实践中,优势我们很难推断出某个表达式的值的类型,尤其是随着模板类型的出现,要想弄明白某些复杂表达式的返回类型就变...转载 2018-04-03 16:31:11 · 88 阅读 · 0 评论 -
520. Detect Capital
Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:All letters in this word...原创 2018-04-12 22:29:40 · 106 阅读 · 0 评论 -
算法设计-DP常见问题及解题技巧
动态规划算法适用于最优化问题。通常可按以下四个步骤设计:找出最优解的性质,并刻画其结构特征; 递归地定义最优值; 已自底向上的方式计算出最优值; 根据计算最优值时得到的信息,构造最优解。动态规划的基本要素: 最优子结构 当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。问题的最优子结构性质提供了该问题可用动态规划算法求解的重要线索。 2...转载 2018-12-10 11:37:36 · 833 阅读 · 0 评论