- 博客(13)
- 收藏
- 关注
原创 C++11 unordered map
C++:unordered map底层是hash表,map底层是红黑树Java:HashMapunordered map用法:(Leetcode#1)class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int i=0;int j=0; ...
2018-05-07 23:24:00 226
原创 对哈希表的理解
哈希表(散列表)哈希函数:key与value地址的映射关系 value地址 = Hash(key)value地址对数组长度取余,可以得到连续的index其结构可如图所示:查找、插入、删除的时间复杂度为O(1)...
2018-05-07 23:17:58 271
原创 Leetcode#1 Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same el...
2018-05-07 20:32:26 103
转载 C++ vector list
1.vector数据结构vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。另外,当数组中内存空间不够时,会重新申请一块内存空间并进行内存拷贝。2.list数据结构list是由双向链表实现的,因此内存空间是不连续的。只能通过指针访问数据,所以l...
2018-04-27 16:59:53 673
转载 C++sizeof
说明:以下代码在VS2008中通过,在32位操作系统下。1. 定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。其返回值类型为size_t。(size_t在头文件stddef.h中定义,它依赖于编译系统的值,一般定义为 typedef unsigned int size_t;)2. 语法sizeof有三种语法形式:1) sizeof...
2018-04-16 10:30:14 224
转载 进程与线程
转自:http://blog.csdn.net/luoweifu/article/details/46595285 什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把他讲通俗一点,讲的明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理...
2018-03-23 15:04:04 84
转载 C++new delete
转自:https://blog.csdn.net/codedoctor/article/details/76187567转自:https://blog.csdn.net/xxpresent/article/details/53024555在C++中,我们应该经常会用到new、delete,它们是C++的一个关键字,同时也是一个操作符,下面我将我对这两者的了解和学习做一个总结和探讨。一、new和de...
2018-03-23 14:50:41 2444
转载 C++指针数组
int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型...
2018-03-21 20:56:55 878
转载 C++析构函数
转自:http://blog.csdn.net/github_35160620/article/details/52602332设计一个类时,如何写析构函数? 析构函数如果我们不写的话,C++ 会帮我们自动的合成一个,就是说:C++ 会自动的帮我们写一个析构函数。很多时候,自动生成的析构函数可以很好的工作,但是一些重要的事迹,就必须我们自己去写析构函数。 析构函数和构造函数是一对。构造函数用于创建...
2018-03-21 17:48:32 1635
转载 C++值传递、指针传递、引用传递
值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作引用传递:形参相当于是实参的“别名”,对形参的操作其实就是对实参的操作,在引用传递过程中,被调...
2018-03-21 17:42:07 132
转载 C++前缀与后缀运算符
前自增运算符改变了对象的状态并返回对象改变后的状态,不需要创建临时对象。下面是前自增运算符的例子:C++12345MyOwnClass& operator++(){ ++meOwnField; return (*this);}后自增运算符也改变了对象的状态但是返回的是对象改变前的状态,并且需要创建一个临时对象。下面是后自增运算符重载的例子:C++123456MyOwnClass ope...
2018-03-21 16:43:07 2315
转载 c++拷贝构造函数详解
一、什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 #include<iostream>using namespace std;class CExample{private: ...
2018-03-21 16:03:26 109
转载 C++static
一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个全局变量和静态全局变量的例子,例如,在文件A中定义静态全局变量 i 和全局变量 j : [cpp] view plain copy#include<iostream> using namespace std; static int i = 5; ...
2018-03-21 16:03:13 179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人