![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
up up up
簇僵僵
这个作者很懒,什么都没留下…
展开
-
paypal编程题【待解答】
小明是A村里的屠龙者,他一直保卫着村子的和平,以不受恶龙的侵扰。而恶龙们也对小明恨之入骨,于是恶龙们决定组织一次集体进攻,以打败小明,拿下A村。小明知道,恶龙集体进攻的时候,会在彼此之间建立一种神秘的链接,而被这种链接连接起来的恶龙能够增长彼此的能力,且每有一只恶龙加入到一个链接中,这个链接里的所有龙的能力都会加1,而只有当小明的战斗力大于龙的战斗力时,才能将龙杀死。万幸的是,小明有一把一次性的屠...原创 2018-04-14 19:29:05 · 453 阅读 · 0 评论 -
树的遍历转换(前序中序转后序,后序中序转前序)C++
注:只知道前序后序不一定能确定唯一的二叉树,因为只能确定父子节点而无法确定左右子树。前序中序转后序算法描述1在前序序列中找到根节点 2在中序序列中查找这个根节点,确定左右子树。 3对左右子树递归进行步骤1,2。 4输出根节点递归实现#include<iostream>#include<string>using namespace std;st...原创 2018-04-10 00:53:12 · 3174 阅读 · 0 评论 -
哈希碰撞解决方法
线性探测 二次探测 拉链法 双重散列 多重散列原创 2018-04-10 01:00:40 · 1904 阅读 · 0 评论 -
数组指针和指针数组
1数组指针,指向数组的指针,本质是指针1.1指向一维数组格式int a[3];int *p=a;取内容p对内容取值p[i];*(p)应用函数传参int a[3];void fun(int *p);fun(a);1.2指向二维数组格式int a[3][3];int (*p)[3]=a;//步...原创 2018-04-10 16:43:38 · 225 阅读 · 0 评论 -
多点连成直线问题
2个点 c(2,2) 1 3个点 c(3,2) 1+2 4个点 c(4,2) 1+2+3 5个点 c(5,2) 1+2+3+4 n个点 c(n,2) 1+2+3+…+(n-1)=n(n-1)/2注: 一次三点共线,少2条; 一次四点共线,少2+3条。 一次五点共线,少2+3+4条。 一次n点共线,少2+…+(n-1)条=n(n-1)/2-1...原创 2018-04-03 14:14:02 · 2067 阅读 · 0 评论 -
二叉树的构建与遍历(前序中序后序层序的递归与非递归实现)
#include<iostream>#include<string>#include<queue>using namespace std;struct node { char elem; node *pL; node*pR;};int NUM;const int MAX = 100;char a[MAX]; node* ...原创 2018-04-10 15:49:01 · 212 阅读 · 0 评论 -
类对象的内存分配
类的大小一般是指经过实例化后类对象的大小。//1真空类:长度:1class A {};//2空类 长度1,同真空类。class A public: A(); ~A(); void fun();//成员函数不会影响类的大小。};//3简单类,长度4class A { public: A();...原创 2018-04-17 14:21:49 · 421 阅读 · 0 评论 -
类的重载重写重定义详解
1重载(overload):同类中的同名函数不同参数表,不能单依靠函数返回值判断。2重写(override)【子类覆盖父类方法】:子类父类中,同名同参同返回值且基类为虚函数。3重定义(redefine)【子类隐藏父类方法】:子类父类中,同名不同参数表的函数或者同名相同参数表的非基类虚函数。#include<iostream>using namespace st...原创 2018-04-17 13:03:31 · 2899 阅读 · 0 评论 -
内存区分配(栈区堆区全局区)C++
1栈区(stack) 1)临时数据寄存交换区,存放局部变量和对象; 2)先进后出,向低地址生长。 3)空间大小1~2MB,超出会出现内存溢出错误,适用于占用空间定长且占用空间小的数据。不太适用于递归函数(a.函数没递归一次都会生成一个对象,每返回一次都会销毁一个对象,所以随递归调用深度增加,需要栈空间也会线性增加,可能造成栈溢出。b.每个对象都局限于当前调用层,对于不管是对于更...原创 2018-04-17 18:45:47 · 1040 阅读 · 0 评论 -
char,short,int,long,longlong取值范围
#include<iostream>#include<climits>using namespace std;int main() {//CHAR cout << " " << SCHAR_MIN << " " << SCHAR_MAX << endl;原创 2018-04-27 14:24:50 · 969 阅读 · 0 评论 -
两个有序链表合并为一个新的有序链表
/*合并到新链表*/#include<iostream>#include<cmath> #include<algorithm>using namespace std;struct node { int v; struct node*pnext;};void input(struct node*phead);void merge(s...原创 2018-04-14 18:03:46 · 847 阅读 · 0 评论 -
排列A()组合C()概念性问题
区别Combine,组合,不分顺序,组合比排列所取得的种数更少。如5取3,C(5,3)=5!/(3!*(5-3)!)=5!/(3!*2!)=(5*4*3)/(3*2*1)Arrange,排列,区分顺序,因而排列比组合取得的种数更多。比如5取3。A(5,3)=5!/(5-3)!=5!/2!=5*4*3公式:n>m,即从n中取m个排列:A(n,m)=n!/(n-m)! 组合...原创 2018-04-01 11:59:10 · 4188 阅读 · 0 评论 -
容器vector在函数中的参数传递
值传递: 形参改变不影响实参 void fun(vector<int>v){} int main(){vector<int>v;fun(v)}引用传递 :形参改变影响实参 void fun(vector<int>&v){} int main(){vector<int>v;fun(v);}指针传递:形参改变影响实参 ...原创 2018-03-31 23:27:18 · 912 阅读 · 1 评论 -
语言特性
1.变量定义 2.算术运算 3.for 循环语句,while 循环语句 4.函数定义,函数调用 5.递归 6.静态类型系统 7.类型推导 8.lambda 函数 9.面向对象 10.垃圾回收 11.指针算术 12goto 语句转载 2018-01-01 16:26:31 · 373 阅读 · 0 评论 -
内存溢出和内存泄漏
内存溢出(out of memory)分配存储空间不够。 内存泄漏(memory leak)无法释放已经申请的存储空间,如new出一片内存空间,但忘了delet。内存泄漏堆积->内存溢出...原创 2018-03-08 18:53:05 · 129 阅读 · 0 评论 -
编译时多态与运行时多态的区别
1定义 (1)编译时多态/静态联编 指联编工作在编译阶段完成,即在编译阶段确定了程序中的操作调用与执行该操作的代码间的关系,基于指向对象的指针类型或引用类型。 (2)运行时多态/动态联编 指联编在程序运行时动态进行,对函数的调用基于对象的类型。2区别总结 3代码(1)编译时多态 1)函数重载//编译时多态,函数调用与**指针类型**有关。#incl...原创 2018-03-24 10:48:32 · 6595 阅读 · 2 评论 -
十大排序算法代码总览(C++)
注: 算法稳定性 定义:待排序序列中的相同关键字记录经过排序后相对次序保持不变。比如Xm=xn,原本Xm在Xn之前,排序后依然Xm在Xn之前。 条件:算法的稳定性由具体算法决定,且在一定条件下算法稳定性也会发生转变。 稳定性意义:只有在排序一个复杂对象的多个数字属性且初始顺序存在意义时,才需要注意算法的稳定性,即需要尽量保持原有排序序列的意义。比如原本商品按价格高低排序,想着想要按销量...原创 2018-03-30 17:14:48 · 4727 阅读 · 3 评论 -
多态的定义和作用
1多态(polymorphism)的定义 多态是面向对象的必备特性,指的是同一接口的不同实现方式,多态允许基类的指针指向子类方法。在C++中通过虚函数实现。2多态的作用 1不必编写每一子类的功能调用,可以直接把不同子类当父类看,屏蔽子类间的差异,提高代码的通用率/复用率 2父类引用可以调用不同子类的功能,提高了代码的扩充性和可维护性...原创 2018-03-25 00:08:40 · 18023 阅读 · 1 评论 -
泛型
传统:template function,stl(list,vector,algorithm) 如今:面向对象(object oriented)中的接口(interface)以及抽象类(abstrct class)原创 2018-03-25 00:13:52 · 92 阅读 · 0 评论 -
静态(static)全局变量与全局变量,静态局部变量与局部变量,内部(static)函数与普通函数
(1)static全局变量和普通全局变量的区别 主要是作用域和使用范围的区别 static/静态全局变量作用域有限,局限在一个源文件内(定义它的源文件),不能被同一源程序的其他源文件使用,避免引起错误。(因而同名静态全局变量可以被定义在不同源文件中,使用关键字static) 普通全局变量作用域是整个源程序,可以被源程序中的各个源文件所使用(关键字extern)。(...原创 2018-03-25 14:30:26 · 1384 阅读 · 0 评论 -
一般函数指针和成员函数指针的区别与联系
1函数指针的定义和作用 函数指针是通过指向函数的指针*间接的调用函数,可以对函数返回值类型、参数类型、顺序、个数都相同的函数实现封装,是多态*的一种实现方式。附加: 1函数指针只会匹配返回值类型、参数类型个数顺序相同函数。 2一般为了封装同类型函数,会将函数指针作为接口函数的参数,通过函数指针来间接调用被封装的函数。2一般函数指针与成员函数指针的区别 一...原创 2018-03-25 16:56:42 · 489 阅读 · 0 评论 -
(隐式)自动类型转换
自动类型转化发生在参与运算的运算量类型不同时: 规则: 1算术运算时: 低精度先转换为高精度,char,short->int->long>double<-float 有符号转换成无符号。 2赋值时:等号右边转换成等号左边 3函数调用时:实参转换成形参 4函数返回值:返回值类型转换成函数返回类型...原创 2018-03-31 11:48:22 · 306 阅读 · 0 评论 -
普通成员函数和静态成员函数
注:普通成员又名非静态成员。静态(static)成员。类成员包括数据成员和成员函数。两者区别1分配内存的时间不同静态成员属于类本身,不属于具体类对象,在类加载时分配内存空间,程序结束时才消失。可以类名直接访问。 普通成员属于类对象,在类对象创建时(类的实例)才会分配内存,即动态加载内存,不用时消失。通过类对象去访问。 注:静态成员不能去访问普通成员,因为静态成员存在于普通成...原创 2018-03-25 19:47:25 · 3564 阅读 · 0 评论 -
源码补码反码转换
总结了个表格,方便对比原创 2018-03-31 13:35:50 · 2383 阅读 · 0 评论 -
strcpy()函数解析
strcpy()函数作用: 将从source地址开始至含有‘\0’结束字符的字符串复制到以dest开始的地址空间。 代码如下:#include<iostream>using namespace std;char* strcpy(char*dest,const char*src){//要点1 const关键字,防止原字符串被修改 if(dest==NULL||sr...原创 2018-03-26 00:18:50 · 281 阅读 · 0 评论 -
质数表查询(前10000)
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 1 07 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 2 23 227 229 233 239 241 251 257 263 2...原创 2018-06-03 14:15:01 · 23738 阅读 · 0 评论