- 博客(12)
- 收藏
- 关注
原创 LeetCode.只出现一次的数 I 、II 、 III
只出现一次的数,三种题型1.只出现一次的数I给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4这道题很简单,将数组中所有的数字挨个抑或就行,因为两个相同的数...
2019-03-29 16:45:38 132
原创 LeetCode.50 Pow(x, n)
LeetCode.50 Pow(x, n)题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。这道题如果你非要return pow(x, n)那你就可跳过这篇伟大的博客了。哼!解题思路:我再做这道题的时候先用的是这种方法:class Solution {public: double myPow(double x, int n) ...
2019-03-26 17:13:22 100
原创 C++模拟实现string类
string类1.标准库中的string类1.1 在http://www.cplusplus.com/reference/string/string/ 中是这样解释的:String classStrings are objects that represent sequences of characters.The standard string class provides supp...
2019-03-26 15:41:59 314
原创 C++泛类--函数模板、类模板
泛类–函数模板、类模板1. 函数模板1.1 函数模板的概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。1.2 函数模板格式template<typename T1, typename T2,…typename Tn>返回值类型 函数名(参数列表){}template <typename T1> // ...
2019-03-19 11:30:38 1619
原创 C++内存管理
C++内存管理C/C++的内存分布,并且各个内存区域都存储那些数据栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存,做进程间通信。堆用于程序运行时动态内存分配,堆是向上增长的。数据段存储全局数据和静态数据。代码段可执行代码(这里的可执行代码是编译后的01机器码)和只读常量...
2019-03-16 16:37:09 192
原创 C++构造函数的初始化链表
构造函数的初始化链表1.构造函数体赋值在我们创建对象的时候,编译器会自动调用构造函数给创建的对象中各个成员变量一个合适的初始值。例如下面的代码:class Date{public: Date(int year, int month, int day) { _year = year; //_year = 1997; _month = month; ...
2019-03-16 12:55:48 5427
原创 栈和队列
栈和队列1.栈**1.1概念:**栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵守后进先出LIFO(Last In First Out)的原则。**压栈:**栈的插入操作叫做进栈、压栈或入栈,插入数据在栈顶。**出栈:**栈的删除操作叫做出栈。出数据也在栈顶。**1.2栈的实现:**栈的实现一般可以使用...
2019-03-14 11:40:49 141
原创 C++类的6个默认成员函数
类的6个默认成员函数如果一个类中什么成员都没有,简称空类,空类中什么都没有吗?并不是滴~任何一个类都在我们不知情的情况下生成了下面的6个默认成员函数。1.构造函数1.1 构造函数的引入class Date{public: void Display() { std::cout << _year << "-" << _month <<...
2019-03-11 17:08:31 427
原创 C++初始类和对象
类和对象C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。根据的我理解:C++中的类就是把C语言中的函数和变量封装到了一起,需要使用的时候,创建一个对象根据需求去使用各个接口(接口就是类中的函数)就行。1.类的引入在C语言中,结构体只能定义变量;可是在C++中结构...
2019-03-11 15:18:39 211
原创 C++引用
引用1.引用的概念引用不是新定义的一个变量,而是 给已存在的变量取一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量 共同用一块内存空间。2.使用方法类型& 引用变量名(对象名) = 引用实体#include <iostream>int main(void){ int a = 0; int& ra = a; std::cout <...
2019-03-05 15:36:41 139
原创 C++函数重载
函数重载1.函数重载的概念函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同, 常用来处理实现功能类似,数据类型不同的问题。#include <iostream>int add(int a, int b){ return a + b;}double add(double...
2019-03-05 14:40:52 135
原创 C++命名空间
命名空间1.为什么要出现命名空间 namespace?在C/C++中,变量名、函数名和类名都是大量存在的,这些名称都将作用在全局作用域中,可能会导致很多冲突。使用命名空间的目的就是对标识符的名称进行本地化,以避免明明冲突或名称污染,namespace 关键字的出现就是针对这种问题的。2.命名空间的定义命名空间的定义需要用到关键字 namespace + 命名空间的名字 再加一对...
2019-03-05 13:40:57 181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人