- 博客(38)
- 资源 (1)
- 收藏
- 关注
转载 13种排序算法详解(相当清楚,还附有flash动画)
http://www.360doc.com/content/14/0804/11/1073512_399302715.shtmlhttp://blog.csdn.net/u013068377/article/details/393680290、前言 从这一部分开始直接切入我们计算机互联网笔试面试中的重头戏算法了,初始的想法是找一条主线,比如数据结构或者解题思路方
2015-04-30 16:47:11 1795
原创 C++ copy和copy_backward用法实例
#include#include#includeusing namespace std;int main(){ // 数组大小为7 int myInts[] = {10,20,30,40,50,60,70}; // 容器大小为8,里面有8个7 vector myVector(8,7); // 1.将数组中的7个数复制到容器的第一个位置,将覆盖容
2015-04-29 21:22:18 1670
转载 简单的程序诠释C++ STL算法系列之十四:copy_backward
copy_backward,copy_backward算法与copy在行为方面相似,只不过它的复制过程与copy背道而驰,其复制过程是从最后的元素开始复制,直到首元素复制出来。也就是说,复制操作是从last-1开始,直到first结束。这些元素也被从后向前复制到目标容器中,从result-1开始,一直复制last-first个元素。举个简单的例子:已知vector {0, 1, 2, 3, 4,
2015-04-29 21:05:08 628
原创 vector的size和capacity改变时空间分配的过程
当增加新元素(s)时,如果超过当时的容量,则容量会扩充至两倍。如果两倍容量仍不足,就扩张至足够大的容量。以一个例子来说明:#include#include#includeusing namespace std;int main(){ int i; vector iv(2,9); cout<<"size = "<<iv.size()<<endl;
2015-04-29 20:26:28 602
原创 网址和域名、用户点击浏览器的整个过程
1.网址和域名: 从形式上来看,网址比域名多了一个前缀“www.”,比方说百度的网址是“www.baidu.com”,而“baidu.com”则是域名,不管网址还是域名都可以通过地址栏输入直达网站。但是也有一些例外的情况,案例在这里已经想不起来了,直接输入域名无法打开网站,必须要在前面加“www.” 网址是相对通俗一点的说法,而域名则是专业一点的,当然这只是过去的情况
2015-04-29 10:28:40 2174
原创 C++内存配置操作和释放操作
这其中的new算式内包含两个阶段操作:(1)调用::operator new 配置内存;(2)调用Foo:Foo()构造对象内容。delete算式也内含两阶段操作:(1)调用Foo::~Foo()将对象析构;(2)调用::operator delete释放内存。
2015-04-28 20:29:12 478
原创 成员函数后面加const的含义
常成员函数使用const关键字说明的函数。常成员函数不更新对象的数据成员。只有非静态成员函数才能是常函数(对象属性)。const不能用于构造、析构(程序执行不警告)。
2015-04-28 17:07:58 522
原创 仿函数的应用(class)
结合for_each输出vector中的值#include#include#includeusing namespace std;templateclass print {public: void operator()(const T& elem) { cout }};int main(){
2015-04-28 16:42:09 487
原创 C++类内定义静态变量
C++类内定义静态变量只限定与integral类型,比如int、char、long、float、double都行,但是string不行
2015-04-28 14:25:15 2768
转载 C/C++中float和double的存储结构
在C/C++中float是32位的,double是64位的,两者在内存中的存储方式和能够表示的精度均不同,目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。无论是float还是double,在内存中的存储主要分成三部分,分别是:(1)符号位(Sign):0代表正数,1代表负数(2)指数位(Exponent):用于存储科学计数法中的指
2015-04-28 14:15:59 563
转载 C++友元函数学习
原文:http://blog.csdn.net/insistgogo/article/details/66086721、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高
2015-04-28 11:38:46 488
原创 STL_STATIC_TEMPLATE_MEMBER_BUG学习
#includeusing namespace std;// templatetemplateclass testClass{public: static int _data;};template::_data = 1;template::_data = 2;int main(){ cout::_data<<endl; cout::_data<<
2015-04-28 09:54:23 718
转载 C++中的内联函数inline总结
原文:http://blog.csdn.net/coder_xia/article/details/6723387突然看到C++Primer中讲到,对于vector的一个循环,调用语句:(示例代码i=v.begin()不是很规范,虽然不会出错,客官请将就着看)[cpp] view plaincopyfor (int i=v.begin
2015-04-28 09:51:14 1770
原创 C++变量前面加下划线的含义
C++变量前面加下划线和不加下划线都不会影响对变量的定义,只是风格问题,更喜欢将成员变量或者私有成员变量的前面加上下划线。以表示该变量是某个类的属性。比如:int size;int getsize(){ return size;}但是大多数人都不喜欢,觉得麻烦,就用了如下风格:int _size;int size()
2015-04-28 09:20:43 24077
原创 面试前应该掌握的问题
1.最长回文子串:http://hihocoder.com/contest/hiho1/problem/1http://hihocoder.com/problemset
2015-04-25 15:10:24 423
转载 检测单向链表是否存在环
问题描述:在单向链表中,每个结点都包含一个指向下一个结点的指针,最后一个结点的这个指针被设置为空。但如果把最后一个结点的指针指向链表中存在的某个结点,就会形成一个环,在顺序遍历链表的时候,程序就会陷入死循环。我们的问题就是,如何检测一个链表中是否有环,如果检测到环,如何确定环的入口点(即求出环长,环前面的链长)。一种比较耗空间的做法是,从头开始遍历链表,把每次访问到的结点(或其地址)存入一
2015-04-24 14:59:44 544
转载 遍历二叉树的各种操作
原文地址:http://blog.csdn.net/hackbuteer1/article/details/6583988 先使用先序的方法建立一棵二叉树,然后分别使用递归与非递归的方法实现前序、中序、后序遍历二叉树,并使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来表
2015-04-22 15:24:38 563
转载 getline 输入无效的原因
实际上你在每次输入数据的时候会输入一个回车 ‘\n'cin在读入整数时候会忽略空白碰到非数字('\n')时停止 cin在getline时会把'\n'及之前的内容读回来,哪怕是空行也会读入cin在读入字符时会把缓冲区内当前字符读入(不会忽略空白)cin.ignore(1000, '\n')的含义是把缓冲区内从当前字符开始知道'\n'之前字符(如果有1000个的话)忽略掉,实际上你这里假设一行
2015-04-17 14:05:30 3476
转载 C++输入字符串
学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()附:cin.ignore();cin.get()//跳过一个字符
2015-04-17 11:48:14 10363
原创 移位操作实现加法,防止溢出
^ 等价于每个比特位加并舍去进位,所以x^y相当于把x,y各个比特位加并忽略每个比特位的进位,而进位只能是1+1的情形,x&y正好显示了每个位相加的进位情况,所以x+y=(x^y) + ((x&y)1) + (x&y)
2015-04-17 10:28:32 1653
转载 Leetcode题目分类:类型+难易
=== 十月十五日更 ===题已刷完,这篇总结还落下不少进度。这个网站本属于个人博客,以后我不想把刷题这种纯找工作的文章发在这里。另外,我回头审视了以前写的一些题解,发现还有不少提升空间,包括对解法的描述和代码的优化。因此我重新做了一个题解网站,也希望能以更加清晰的分类目录和解法帮助读者提升刷题的效率,早点从刷题中走出来,做些更有意思的事。鉴于我需要重新描述大多数题目的解法,新的网站目前只
2015-04-15 16:16:48 3826
原创 LRUCache
struct cacheNode{ int key; int value; cacheNode(int k,int v):key(k),value(v){}};class LRUCache{private: int capacity; list cacheList; unordered_map::iterator> cacheMap;p
2015-04-15 15:52:29 556
原创 linux普通模式翻屏(翻页)和tmux下翻屏(翻页)方法
1.linux普通模式翻屏(翻页):shift+PgUp或者shift+PgDn2.tmux模型下翻屏(翻页):C-b pageup/pagedown
2015-04-15 11:06:42 41298 5
原创 g++运行结果输出到文件
g++ -std=gnu++11 -o unordered_map_study -g unordered_map_study.cpp 2>result.txt
2015-04-15 10:56:44 2680
原创 g++ 使用C++编译命令
g++ -std=gnu++11 -o unordered_map_study -g unordered_map_study.cpp
2015-04-15 10:20:47 631
转载 unordered_map版本兼容问题
在C++中最让我蛋疼的事情之一就是unordered_map千呼万唤才出来,在C++早期版本标准库里面只有map这个字典。 但是map的内部实现是采用的红黑树,众所周知,对于字典这类结构也可以用hash表来实现,也就是C++的标准库应该也要有hash_map这种数据结构。红黑树实现的map占用内存较小,但是查找效率不高,O(logn)的查找效率。hash表实现的map占用内存较大,但是
2015-04-15 10:07:21 1126
原创 splice函数
http://www.cplusplus.com/reference/list/list/splice/entire list (1)void splice (iterator position, list& x);single element (2)void splice (iterator position, list& x, it
2015-04-15 09:17:06 792
原创 Validate Binary Search Tree
1.测试用例没有考虑INT_MIN,以至于一开始采用INT_MIN作为最小值。Solution:采用is_first变量,以存储第一个值;2.单独用递归程序写时,容易导致很多错误,并不能真正验证是否是一个合格的二叉排序树。比如,右子树中的某个节点大小有可能小于该节点的值,这样的二叉树就不是二杈排序树。错误代码如下://bool isValidBST(TreeNode *root)//
2015-04-12 16:28:14 398
原创 hadoop安装过程遇到的问题
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/http://my.oschina.net/hetiangui/blog/1428971.Sun Java 6*当执行这条命令时“$sudo add-apt-repository ppa:ferra
2015-04-10 15:35:53 612
转载 linux grep命令
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数。-I:不区分大 小写(
2015-04-10 10:04:08 371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人