
程序员面试宝典
IT_job
这个作者很懒,什么都没留下…
展开
-
螺旋队列C++代码实现实例及运行结果
实现螺旋队列,并且输入任意坐标时输出对应的值c++代码#include #include#define max(a,b) ((a>b)?a:b)#define abs(a) ((a>0)?a:(-a))using namespace std;int fun(int x,int y){ int t=max(abs(x),abs(y)); int u=t+t;原创 2018-01-14 23:54:12 · 757 阅读 · 0 评论 -
new用法之常用格式c++代码
作用:new用作申请内存之用,与c中的malloc差不多1 格式 指针变量名=new 类型例:int *p=new int//开辟一个存放整数的存储空间,并将该存储空间的地址赋值给p2 格式 指针变量名=new 类型(初始值)例:例:int*p=new int(2)//开辟一个存放整数的存储空间,并将该存储空间的地址赋值给p,并将整数空间赋值为2 这两种格式情况下delet原创 2018-01-27 11:53:49 · 1256 阅读 · 0 评论 -
vector向量练习小例子c++代码实例及运行结果
c++代码#include #includeusing namespace std;void print(vector vec){ cout<<"向量大小为:"<<vec.size()<<endl; cout<<"向量里的内容为:"; for(vector::iterator p=vec.begin();p!=vec.end();p++)原创 2018-01-27 11:16:48 · 878 阅读 · 0 评论 -
队列的入队,出队,测长度,打印c++代码
typedef struct st{ int data; struct st *next;}node;typedef struct linkQueue{ node *first;//队首指针 node *rear;//队尾指针}queue;queue *insert(queue *Queue,int x){ node *s;//创建队列元素s s=(node*)mal原创 2018-02-03 15:22:16 · 1492 阅读 · 0 评论 -
单链表的建立,测长度,打印,删除,插入,逆置c++代码实例及运行结果
c++代码#include using namespace std;typedef struct st{ int data; struct st *next;}node;//单链表的创建node *create(){ node *head,*p,*s; int x,cycle; head=(node*)malloc(sizeof(原创 2018-02-02 15:06:38 · 798 阅读 · 0 评论 -
双链表的建立,测长度,打印,插入c++代码实例及运行结果
跟单链表类似操作类似点击打开链接c++代码#include using namespace std;typedef struct st{ int data; struct st *pre; struct st *next;}dNode;//双链表的建立dNode *create(){ dNode *head,*p,*s; int原创 2018-02-03 11:36:28 · 396 阅读 · 0 评论 -
函数指针的使用c++代码实例及运行结果
我们需要编写函数求出a与b之和,c与d之差。这里我们使用函数指针的方式编写,这样的好处在于当我们下一次如果需要求出a与b之差时,只用改一个参数,而不用重新写函数c++代码#include using namespace std;int sum(int x,int y){ return x+y;}int sub(int x,int y){ return原创 2018-01-27 21:00:13 · 331 阅读 · 0 评论 -
struct使用继承c++代码实例及运行结果
struct与class唯一不同的是struct默认的关键字是public,class默认的关键字是privatestruct也可以有默认构造函数,析构函数,继承等等。c++代码#include using namespace std;struct animal{public: animal():age(1),weight(10){}//构造函数 ~anim原创 2018-01-27 22:27:39 · 767 阅读 · 0 评论 -
整数转换成字符型的两种方法c++代码实例及运行结果
第一中:整数转换成字符型加'0'#includeusing namespace std;int main(){ int integer=123; int i=0,j=0; char temp[4],array[4]; cout<<"整数为"<<integer<<endl; while(integer) { temp[i原创 2018-02-04 13:53:12 · 957 阅读 · 0 评论 -
字符型转换成整数的两种方法c++代码实例及运行结果
第一种 采用减'0'再乘10累加的方法#includeusing namespace std;int main(){ char array[7]={'1','2','3','4','5','6'}; int integer=0,i=0; cout<<"字符串为"<<array<<endl; while(array[i]) { i原创 2018-02-04 20:36:34 · 740 阅读 · 0 评论 -
拷贝函数strcpy写法c++代码实例及运行结果
c++代码#include #includeusing namespace std;void stringCopy(char *dst,const char *src){ assert(dst!=NULL&&src!=NULL);//出现异常时停止 while(*src!='\0') { *dst++=*src++; } *ds原创 2018-02-04 21:17:28 · 549 阅读 · 0 评论 -
memcpy内存拷贝函数的写法c++代码实例及运行结果
memcpy()为内存拷贝函数,相比于strcpy只能拷贝字符串,memcpy可以拷贝任意类型的数据下面用c++写一个跟memcpy()函数相同功能的函数c++代码#include #includeusing namespace std;void *memCpy(char *dst,char *src,size_t size){ assert(dst!=NULL&&s原创 2018-02-04 21:42:42 · 706 阅读 · 0 评论 -
判断输入的一个数是否为回文数c++代码实例及运行结果
首位递增,末位递减,直到首位不再小于末位c++代码#include using namespace std;int main(){ int m;//待输入的数 int i=0,j=0; int array[10];//将每个数分解 cout<<"请输入一个数"<<endl; cin>>m; while(m) {原创 2018-02-04 22:28:37 · 9174 阅读 · 5 评论 -
删除指定字符c++代码实例及运行结果
本代码可以删除指定的字符串,当出现要删除的指定字符串中的任意一个字符时,即把它删除。本方法通过将不删除的重新提取出来c++代码#include using namespace std;int main(){ char *subStr="abc",*str="aabcdefgabcd"; char *subStrTemp=subStr; char tem原创 2018-02-05 12:58:14 · 870 阅读 · 0 评论 -
strstr()函数c++代码实现实例及运行结果
strstr()函数返回值是主串中字符子串的位置以后的所有字符c++代码#include using namespace std;char *strStr(char *str,char *subStr){ for(int i=0;str[i]!='\0';i++) { int j=0; if(str[i]==subStr[j])原创 2018-02-05 14:10:14 · 624 阅读 · 0 评论 -
将一句话中的单词进行倒置c++代码实例及运行结果
需要进行两次倒置,具体看代码解释c++代码#include #includeusing namespace std;int main(){ char *str="My Name is XiaoMing"; cout<<"源字符串为"<<str<<endl; char strInv[30]={};//存放转置后的程序,char *strInv出错 i原创 2018-02-05 16:59:15 · 837 阅读 · 0 评论 -
八进制与十进制相互转换c++代码实例及运行结果
八进制转十进制c++代码#include using namespace std;unsigned int oct2dec(unsigned int oct){ return oct/10*8+oct%10;}int main(){ unsigned int oct; unsigned int dec; cout<<"请输入一个八进制数"<原创 2018-02-01 22:05:52 · 16677 阅读 · 4 评论 -
最简单的0-1背包问题c++代码实例及运行结果
一个容积为5的箱子,现在要装入物品,物品一共有4个,体积分别是1、2、3、4,问有几种填充方法解析:每个物品最多装一次。很简单,只有两种1,4与2,3c++代码#include using namespace std;int main(){ int array[]={1,2,3,4}; int len=sizeof(array)/sizeof(array[0]原创 2018-01-25 14:30:15 · 1328 阅读 · 0 评论 -
程序员面试宝典学习总结1(每篇20个)
1 &跟&&的区别&为按位与运算;&&为与运算,返回一个布尔值。X=3,y=4,则x&y等于0;x&&y等于1(x跟y同为真时返回1)2局部变量与全局变量#includeusing name spacestd;int vac=3;int main(){int vac=10;::vac++;coutcoutreturn 0;]输出4,10原创 2018-01-14 21:50:57 · 471 阅读 · 0 评论 -
对for循环里面有递归调用的理解——简单例子详细流程图解释
c++代码#includeusing namespace std;void recursion(int n){ int i;for(i=1;i<=2;i++){ if (n > 0) { recursion(n - 1); cout<<n<<endl; }}}int main(){ recursion(2);原创 2018-01-22 19:35:45 · 6602 阅读 · 4 评论 -
return; return 0; return -1; return 1;的区别
return语句用来结束循环,或返回一个函数的值。 1 return, 如果什么都不接的话,其实就是void类型函数的返回,返回后不再执行return后面的语句如果函数执行成功返回0,不成功返回非0,一般情况下非0值常用-1来表示。2 return 0:一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。3 return -1::表示返回一个代数值,一般用在子函数结尾。原创 2018-01-22 19:58:01 · 11327 阅读 · 1 评论 -
打靶问题c++代码递归实现——程序员面试宝典
一个射击运动员打靶,靶一共10环,连开10枪打中90环的可能性有多少种,使用递归算法实现使用循环的话需要写10个循环语句,造成时间空间复杂度很高。故选择递归算法c++代码#include using namespace std;int sum;int store[10];void output(){ for(int i=9;i>=0;--i)原创 2018-01-22 20:52:11 · 1669 阅读 · 0 评论 -
八皇后问题c++代码递归回溯实例及运行结果
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法 具体分析可见程序员面试宝典c++代码#include using namespace std;static char eightQueen[8原创 2018-01-23 00:34:51 · 1403 阅读 · 0 评论 -
寻找两个值中更大值的方法总结c++代码
int a,b,max方法1 ifif(a>b)max=a;elsemax=b;方法2 三目运算符?:max=((a>b)?a:b)方法3max=((a+b)+abs(a-b))/2;方法4 位运算int sum=a+b;b=b-aa-=b*(b>>(sizeof(int)*8-1))return sum-a;解释:1 a>b时,b=b-a>(s原创 2018-01-15 14:50:30 · 612 阅读 · 0 评论 -
交换两个值的方法总结c++代码
方法1中间变量,需要重新开辟内存int a,b,temp;temp=a;a=b;b=temp;方法2异或语句,缺点是a,b如果过大a+b会造成越界int a,b;a=a+b;b=a-b;a=a-b;方法3 按位异或语句int a,b;a=a^b;b=a^b;a=a^b;原创 2018-01-15 17:31:17 · 822 阅读 · 0 评论 -
多态的理解、作用及其c++代码实例及其运行结果
大部分内容参考于程序员面试宝典多态性可以简单理解为“一个接口,多种方法”。在程序运行的过程中才决定调用的函数。比较形象的一个例子:开电视,开窗户,开门,这里的“开”就是多态(到底准备开什么的意思)。多态性允许你将父对象设置成为和它的一个或更多的子对象相等的技术,即允许将子类类型的指针赋值给父类类型的指针。c++中的多态性是通过虚函数实现的。虚函数就是允许被其子类原创 2018-01-29 19:52:35 · 443 阅读 · 0 评论 -
共有继承,保护继承,私有继承的区别c++代码实例
三种继承与父类关键字的关系如表格所示例:子类保护继承父类,则父类的public属性变为protected,父类的protected属性不变,也为protedted。不能访问的意思是无法得到基类中private中的信息举例:c++代码//父类class parent{public: parent(); ~parent(); void f1(){cout<<"f原创 2018-01-31 11:02:11 · 727 阅读 · 0 评论 -
子类对基类中public,protected,private访问修改权限解析c++代码实例
1 基类中public,子类共有继承可以访问并修改;子类保护继承可以访问但不可以修改;子类私有继承不能访问且不能修改;2 基类中protected,子类共有继承可以访问但不能修改;子类保护继承可以访问但不可以修改;子类私有继承不能访问且不能修改;3 基类中private,子类不论什么继承都不能访问且不能修改举例c++代码如下//父类class parent{pub原创 2018-01-31 11:20:52 · 2128 阅读 · 0 评论 -
提取显示字符子串c++代码实例及运行结果
编写函数,把字符串中所有字符的各种组合形式全部显示出来,字符子串的长度范围是从一个字符到字符串的长度,相同字符不同排列视为同一种组合c++代码#include #includeusing namespace std;int sum=0;//定义一共有多少种组合char str[]="haro";//待组合的字符串int length;char *out;void subS原创 2018-01-24 19:30:07 · 515 阅读 · 0 评论 -
打印字符图像c++代码实例及运行结果
来源于程序员面试宝典打印如下图形c++代码#include #define N 8using namespace std;int main(){ for(int i=0;i<N;i++)//控制行数 { for(int j=0;j<i+1;j++)//控制字符* { cout<<"*";原创 2018-01-24 19:53:58 · 1394 阅读 · 0 评论 -
筛选法查找1000以内的素数c++代码实例及运行结果
c++代码#include #include#define N 1000using namespace std;int main(){ int array[N];//数组array标记是否为素数 int n=0; for(int i=0;i<N;i++)//所有元素初始化为1 array[i]=1; for(int j=2;j<N;j原创 2018-01-24 20:40:46 · 3260 阅读 · 0 评论 -
根号法查找1000以内的素数c++代码实例及运行结果
c++代码#include #include#include//setw控制格式#define N 1000using namespace std;int main(){ int i,j,k,n=0; for(i=2;i<N;++i) { j=(int)sqrt(i); for(k=2;k<=j;k++) {原创 2018-01-24 21:16:19 · 685 阅读 · 0 评论 -
虚继承的概念及其作用,虚继承与一般继承的区别
虚继承是多重继承特有的概念,这里需要明确的是,虚继承与虚函数继承是完全不同的概念。虚继承是为解决多重继承而出现的,可以节省内存空间举例:类c4继承自类c2和类c3,类c2继承自类c1,类c3页继承自类c1。这样类c1就出现2次,我们可以通过虚继承节省内存空间,如下所示操作方法:将类c2和类c3对类c1的继承定义为虚拟继承。c++代码如下class c1{}原创 2018-02-01 12:05:44 · 5802 阅读 · 4 评论 -
找出一串数字中,n个连续的数之和最大c++代码实例及运行结果
这里以n=3为例c++代码#include using namespace std;int main(){ int array[]={1,2,-10,7,-3,2,7,8,9,21,-22}; int len=sizeof(array)/sizeof(array[0]); int sum,index,i=0; sum=array[0]+array[原创 2018-02-05 17:31:56 · 3440 阅读 · 0 评论