01 2014 档案
摘要:c/c++常需要获得最大值,最小值,通常这两个数与平台和操作系统有关,因此可移植的办法就是推荐使用库函数提供的常量定义1. 利用语言自定义类似的常量定义在limits.h和float.h头文件中。在头文件中,整数的最值通常是这样的名字:INT_MAX, INT_MIN,直接使用即可。2. 自定义变量int MAX_INT = ((unsigned)(-1))>>1;int MIN_INT = ~MAX_INT;解释int占4个字节。-1是有符号数,默认用补码表示,二进制表示为32个1,如果强制解释为无符号数,那么(unsigned)(-1)=(11111111 1111111111
阅读全文
摘要:特点栈——先进后出队列——后进先出思路1. 快速得到最大值的栈结构需要两个数组:一个数组stackItem保存栈的元素,另一个数组link2NextMaxValueIndex保存下一个最大值的位置两个指针:一个为stackTop指向栈顶,另一个为maxValueIndex指向最大值的下标操作插入时:比较插入元素与最大值的大小,如果比最大值还大呢,link2NextMaxValueIndex指向原来最大值的位置(即maxValueIndex),而maxValueIndex变为现在插入元素的位置;否则link2NextMaxValueIndex指向-1删除时:删除元素的位置出,如果maxValue
阅读全文
摘要:问题思路cur = pre->next;post = cur=>next;cur->next = pre;cur = post;代码ListNode* reverseList(ListNode *root){ if (root == NULL) return root; L...
阅读全文
摘要:线性表有序数组中绝对值最小值队列链表逆转单链表解决单链表中的环问链表中倒数第k个结点树二叉树遍历二叉树距离二叉树还原图图遍历查找图的遍历二分查找排序冒泡排序直接插入排序简单选择排序希尔排序快速排序堆排序归并排序动态规划最长连续序列最大上升序列编辑距离最长公共子序列
阅读全文
摘要:1.Hadoop集群可以运行的3个模式?单机(本地)模式伪分布式模式全分布式模式 2. 单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。3. 伪分布模式中的注意点?伪分布式(Pseudo)适用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运行。4. VM是否可以称为Pseudo?不是,两个事物,同时Pseudo只针对Hadoop。5. 全分布模式又有什么注意点?全分布模式通常被用于生产环境,这里我们
阅读全文
摘要:天行健君子以自强不息,地势坤君子以厚德载物。 如今信息大爆炸,各种理念相互冲击。该听谁的,谁的正确,自己如何抉择......这系列的问题都是无解,但是总的解决路径就是:踏实做事,认真做人。 安下心累做事,这是自己的致命伤,多少次不是自己的浮躁,使自己的走弯路,按部就班、一步一个脚印的往前走,总会有个好的结果的,并且是问心无愧。安心做事是自己最需要的,如果个人能够做到,就会慢慢的改掉坏习惯,慢慢的积累,就不会让自己浮浅。不管做什么,只要是积极的、对自己发展好的,坚持做下去,终究会有所收获。 不要企图天上会掉馅饼,靠别人永远不如靠自己,因为别人有自己的事情要做。只有自己强大了才会帮助更多的人。 .
阅读全文
摘要:1. struct 和 class 唯一的区别:默认的成员保护级别和默认的派生保护级别不同(前者为public,后者为private)。2. int *p = new int[23]; delete []p;
阅读全文
摘要:C++的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件:只有指定为虚函数的成员函数才能进行动态绑定必须通过基类类型的引用或指针进行函数调用因为每个派生类对象中都拥有基类部分,所以可以使用基类类型的指针或引用来引用派生类对象示例#include #include using namespace std;struct base{ base(string str = "Base") : basename(str) {} virtual void print() { cout print(), pd->print()" print(); pd->
阅读全文
摘要:1. 类内的访问控制在基类中,public和private具有普通的含义:用户(即基类的对象)可以访问public成员(包括函数、数据),而不能访问private成员。private只能被基类的成员和友员访问。(注:基类的对象无权访问private成员)派生类对基类的public和private具有相同的含义:它可以访问public成员,不可以访问private成员。派生类对象亦如此。为了使派生类(注:是类, 不是类对象)可以基类的成员,但禁止基类的对象访问,定义了protected控制。基类protected成员,派生类可以访问,但基类以及派生类的对象是不行的。示例#include #inc
阅读全文
摘要:功能返回满足条件的元素个数模版template typename iterator_traits::difference_type //返回值 count_if (InputIterator first, InputIterator last, UnaryPredicate pred); 实现template typename iterator_traits::difference_type count_if (InputIterator first, InputIterator last, UnaryPredicate pred){ typename iterator...
阅读全文
摘要:目录输入和输出操作符算术操作符和关系操作符下标操作符自加、自减操作符成员访问操作符1 输入和输出操作符1.1 输出操作符1.1.1 示例#include #include using namespace std;class A{ friend ostream& operator#include using namespace std;class A{ friend ostream& operator>(istream& in, A& a); public: A(const string &s = "", int v = 0) :
阅读全文
摘要:c++编程提倡使用标准库,一个原因是标准库大胆减少对指针的使用。但是许多程序是离不开指针的。包含指针的类需要特别注意复制控制,原因是复制指针时只复制指针中的地址,而不复制指针所指向的对象。这样当把一个对象复制给另一个对象后,当改变一个对象后,另一个对象也会收到牵连。另外一个对象释放掉后,其指针已经被释放掉。而另一个对象还不知道,其实该对象中的指针已经成为悬垂指针。这样再操作就会出现错误。1. 定义智能指针类原理:定义一个计数的类,所有复制的都是指向这一个类,每复制一次,该类加1一次;每析构一次,该类减1一次。当次数为0时,释放掉动态申请的空间。图例:1)定义一个对象2)复制一个对象#inclu
阅读全文