校招准备
文章平均质量分 76
LZDCQU
这个作者很懒,什么都没留下…
展开
-
单向链表的创建、查找、删除、打印
链表结点的定义:struct ListNode{ int m_nKey; ListNode* m_pNext;};1、单链表的创建注意要创建头结点ListNode *create(int *data,int len)//data[]输入的数组,len是输入数组长度{ ListNode *head,*p,*q;//定义三个结点,首、中、尾原创 2016-09-08 15:28:57 · 771 阅读 · 0 评论 -
几个常见的DP问题及解法
原地址:http://blog.csdn.net/yi_Afly/article/details/520819591. 求字符串的最长不重复子串的长度举例:abcabcbb,返回abc;bbbbb,返回b;pwwkew,返回wke。注意pwke是子序列,不是子串。问题分析: 记字符串存放在字符数组cs中,遍历cs的下标为i。分析可知,想求截止到i的最长不重复子串转载 2016-08-08 16:06:16 · 1856 阅读 · 0 评论 -
2017年腾讯暑期实习编程题
1、[编程题] 构造回文给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle输出例子:22//思路:求输入字符串与其反串的原创 2016-08-10 11:28:05 · 615 阅读 · 0 评论 -
编写类string的构造函数、析构函数和赋值函数
#includeusing namespace std;class String{public: String(const char *str=NULL); //普通构造函数 String(const String &other); //复制构造函数 ~String(void); //析原创 2016-08-21 16:04:31 · 7569 阅读 · 1 评论 -
四种排序算法
1、冒泡排序#includeusing namespace std;void bubble_sort(int a[],int len){ int i,j,temp; int exchange; temp=exchange=0; for(i=0;i<len;i++) { exchange=0; for(j=0;j<len-i-1;j++) { if(a[j]>a原创 2016-08-22 11:06:15 · 529 阅读 · 0 评论 -
const关键字在指针声明时的作用
1) 如果const位于*号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量,是常量指针;例如: char const *p1 ; const char *p2;上面两个等价,都是常量指针。常量指针:表达为“是常量的指针”,它首先是一个指针。一个指向常量的指针,它本身可以修改,但它所指向的地址的内容不可修改。2) 如果const位于*号的右原创 2016-08-24 11:53:53 · 419 阅读 · 0 评论 -
C++语言特性?虚函数与纯虚函数的作用与区别?
一、C++语言的特性有哪些?1、封装封装就是将抽象得到的数据行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机地结合,形成类,其中的数据和函数都是类的组成部分,称为类的成员。2、继承继承是从先辈处得到的属性和行为特征。类的继承,是新的类从已有类那得到已有的特性。另一方面,从已有类产生新类的过程就是类的派生。由原来的类产生新类是,新类便包含了原来类原创 2016-08-24 16:36:19 · 1385 阅读 · 0 评论 -
模板类实现二叉树前序、中序、后序遍历
首先我们需要定义节点类以及二叉树类:#includeusing namespace std;template class BirnaryTree; //先声明一个类templateclass TreeNode //节点类定义{public: TreeNode() { left=NULL; righ原创 2016-08-30 16:03:48 · 643 阅读 · 0 评论 -
二叉排序树创建、插入节点、查找节点的实现
二叉查找树(Binary Sort Tree)又称为二叉查找树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者满足如下性质的二叉树:(1) 若它的左子树非空:则左子树上所有节点的值均小于根节点的值。(2)若它的右子树非空:则右子树上所有节点的值均大于根节点的值。(3)左、右子树本身各是一棵二叉排序树。下图就是一个简单的二叉排序树:首先我们需原创 2016-08-30 21:30:51 · 2514 阅读 · 0 评论 -
二维数组名作函数的参数
数组的建立方式不同,数组访问的方式会不一样数组建立方式一:int A[2][3]={1,2,3,4,5,6};对于方法一建立的数组,参考谭浩强《C程序设计》的方法:用多维数组名作为函数的实参和形参,在被调用函数中对形参组定义时可以指定每一维的大小,也可以省略第一维的大小说明。例如:int array[3][10];或int array[][10];二者都是合法并且等原创 2016-09-03 10:09:57 · 657 阅读 · 0 评论 -
关于链表的几个笔试题
一、链表中倒数第K个节点方法一:假设整个链表有n个结点,那么倒数第K个结点就是从头结点开始的第n-k+1个结点。因此通过遍历链表获得结点数n,然后从头结点开始往后走n-k+1步就可以了。但是这种方法需要遍历两次链表。//方法一struct ListNode{ int val; struct ListNode *next; ListNode(int x) :val(x), next原创 2016-09-05 10:39:31 · 458 阅读 · 0 评论 -
连续输入数字,以空格为分割,换行为结束,将数字输入到数组中
在知道要输出数字的个数的情况下,我们可以这样输入int data[100];int len=5;//len要输入数字的个数for(int i=0;i<len;i++){ cin>>data[i];}但是,如果要输入数字的个数(len)不知道呢,连续输入数字,以空格分隔,怎么以换行结束输入?可以使用cin.get():该函数可以读取一个字符,并且将换行符读入,不会舍弃换原创 2016-09-10 18:46:05 · 5325 阅读 · 0 评论