C++
文章平均质量分 59
gendlee1991
编程界的小学生
展开
-
0015求十进制数转化成二进制数后1的个数(程序员面试宝典上例题)
关键表达式n=n&(n-1)当n不为零时继续以上计算,加入一个计数器count,伪代码如下:class Solution {public: int NumberOf1(int n) { int count=0; while(n) { count++; n=n&原创 2015-11-05 19:34:48 · 582 阅读 · 0 评论 -
0040申请一个已知长度的string类型字符串
今天测试KMP模式匹配算法中next生成值,要用一个和已知串一样长的字符串数组,string类型,开始写:......s="ajkwsgfli"len=s.length();string next[len];......编译错误:不能申请长度为零的字符串空间。改:int *next = new int [len];成功!原创 2016-04-21 21:25:33 · 431 阅读 · 0 评论 -
0050 KMP匹配算法的C++实现
KMP模式匹配算法在搜索与索引中是算法基础(?)KMP匹配分两步:1)根据要查找的字符串计算出next值;2)利用next值来控制移动位置,实现高效匹配,不做多余的比较。原创 2016-06-02 11:34:11 · 317 阅读 · 0 评论 -
0052 二叉搜索树线索化为双向链表
二叉查找树的线索化将一棵二叉搜索树(又叫查找树)转化成一个排序的双向链表,我们也叫它为线索化。原创 2016-07-28 17:55:09 · 446 阅读 · 0 评论 -
0054 虚函数、纯虚函数和接口的使用方法和意义
虚函数的意义,就在于定义了一个从最早的父类,到最后的子类,都必须具备的一个功能(函数),只是在不断的进化(继承)中,这个功能会略微发生改变。通过虚函数,我们在调用不同的衍生类的时候,可以拥有不同的功能。然后我会说:这么麻烦,干脆每个继承类都重写命名一个函数么算了,只要知道重命名的函数有这个功能就行了不是?理论上来说,完全可以,在一个父类和其继承类不多的项目中,这么做完全可以,只要你自己能熟记或者找转载 2016-07-31 15:15:19 · 309 阅读 · 0 评论 -
0055 那些必须要知道的排序算法
本文主要讨论面试中经常会被问到的算法(我猜那些思想这么重要肯定会问吧),亲自手动实践,运行成功的。原创 2016-08-04 22:04:21 · 435 阅读 · 0 评论 -
0053 关于虚继承与虚函数占用字节的探索
1、为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下:class Aclass B1:public virtual A;class B2:public virtual A;c原创 2016-07-30 11:37:46 · 810 阅读 · 0 评论 -
0059 给定一些值和一个要组成的数字,求总的组合数(遍历解答树)
如:有1分,2分,5分,10分四种硬币,每种硬币无限,给定Target分钱,求多少种组合可以合成Target分钱?// ShangJi.cpp : 定义控制台应用程序的入口点。#include #includeusing namespace std;int count=0;int Target=0;int coin[4]={1,2,5,10};int total=0;ve原创 2016-08-22 12:05:28 · 746 阅读 · 0 评论 -
0056 去除字符串中重复的字符
思路:1)对每个字符,检查在已发现的字符集合中是否已经存在;2)若存在,则跳过,否则加入到已发现的字符集合中。#include#includeusing namespace std;void removeDuplicates(char* str){ if(str==NULL) return; int len = strlen(str); if(len < 2) r原创 2016-08-11 16:02:24 · 270 阅读 · 0 评论 -
0057 找出数组中出现次数超过一半的数字
如题,若存在超过一半长度的数字,返回它,反之则返回0(这种返回并不好,但是为了简化问题和说明思想)思路:1)用一个标记,初始化为1,当遇见一个相同的数字,加1,遇见的是不同的,则减1;当标记位值为零,则需要重新记录当前遍历的数字,作为候选数字。2)从头开始遍历数组,用一个标记位time=1开始,用一个变量来记录候选的值result,初始化为数组第一个数字;当遍历时遇见相同的则t原创 2016-08-12 17:46:21 · 255 阅读 · 0 评论 -
0061 strcpy strcmp strcat strlen memcpy函数再写
strcpy strcmp strcat strlen memcpy函数再写原创 2016-09-15 22:21:55 · 288 阅读 · 0 评论 -
0058 连续子数组的最大和
今天在牛客上做的一题,求连续子数组的最大值。思路:1)当当前和的值小于0,则丢弃,以下一个值作为新起点求和;2)如果当前和的值大于记录的最大值,则更新最大值。代码如下:int FindGreatestSumOfSubArray(vector array) { if(array.empty()) return 0; int maxSu原创 2016-08-14 17:59:08 · 271 阅读 · 0 评论 -
0039C++标准库中的vector的常用操作函数
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。原创 2016-04-20 16:47:04 · 338 阅读 · 0 评论 -
0038关于父类与子类中的一道题(牛客)
牛客一题原创 2016-04-18 21:00:22 · 329 阅读 · 0 评论 -
0018C++中的vector是个什么鬼
编程偶然遇到vector,虽然几次发现这个神兽,但不知用来干啥的,今天在别人博客中转来细细研究一番。在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。转载 2015-11-11 19:41:55 · 343 阅读 · 0 评论 -
0005运算符优先级及排序算法复杂度表
1.语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(原创 2015-10-26 20:14:59 · 552 阅读 · 0 评论 -
0019将字符串逆序操作
今晚在牛客网做了一题,花了不少时间,主要是各种细节。注释掉的部分其实是最简洁的最佳代码,但是体现原创性,用愚笨的方法,一是考察自己对结束符的理解以及合理的跳出循环原创 2015-11-11 22:09:28 · 301 阅读 · 0 评论 -
0006不使用判断语句求二者中的最小值
本文转自:http://blog.csdn.net/gukesdo/article/details/7439059 不使用比较算法,利用异或运算和与运算求两者中的最小值。转载 2015-10-27 18:56:12 · 296 阅读 · 0 评论 -
0012闰年计算的C++实现
闰年的计算规则:年份能被4整除,但是不能被100整除,或能被400整除。如2000能被400整除,是闰年;1992年能被4整除,不能被100整除,所以是闰年。注意:博主一直被闰年和闰月两个概念打乱,这个计算是闰年,闰年,闰年(重要的话说三遍),与闰月无关。先写一个头文件Date.h#ifndef _DATE_H_#define _DATE_H_class Date{priva原创 2015-10-30 17:28:26 · 3168 阅读 · 0 评论 -
0021利用递归算法打印数字金字塔
利用递归算法打印数字金字塔,一道有意思的题,就当娱乐吧。原创 2015-11-17 10:50:10 · 4002 阅读 · 0 评论 -
0020回文的一种实现方法
rotor——从前向后和从后向前读取都是同一个字符串,还有这句:上海自来水来自海上,青岛多树木树多岛青。如何判断一句话是否为回文,这里编写了以个类。原创 2015-11-16 20:01:34 · 357 阅读 · 0 评论 -
0013冒泡法排序之指针实现篇(非常精简的代码)
今天是10月之末,来一发曾经写的代码作为本月终结任务。下个月好好写,写有档次的原创技术博客。巴拉巴拉,闲话藏浪多。用指针来作冒泡排序。#includeusing namespace std;void Sum(int* pPointer,int n){ int i,j,t,p; for(i=0;i<n-1;i++) //i从0到n-1循原创 2015-10-31 11:57:04 · 2143 阅读 · 1 评论 -
0026分治法应用之求最大最小值
分治法就是讲大规模问题化成小的同类型问题,分开求解再合并各个解。它比直接求的比较次数要少用分治法求最大最小值: public static int getMax(int[] array, int i,int j) { int Max1 = 0; int Max2 = 0; if (i =原创 2015-12-22 16:26:23 · 469 阅读 · 0 评论 -
0033类模板定义实例化等细节
本文转自:http://www.cnblogs.com/assemble8086/archive/2011/10/02/2198308.html主要介绍类模板的定义、实例化、以及常见的一些错误。转载 2016-04-03 11:06:23 · 891 阅读 · 0 评论 -
0035C++中vector类的常用函数
常用vector函数原创 2016-04-05 16:19:07 · 456 阅读 · 0 评论 -
0022VS2008(SP1)下配置ogre1.6.5的教程
本教程适用于ogre初学者以及基于打补丁的VS2008项目者。原创 2015-11-17 10:53:52 · 578 阅读 · 0 评论