
C++
文章平均质量分 51
Vigor
微信
schrodingerman
展开
-
c++ 虚函数的实现机制:笔记
c++ 虚函数的实现机制:笔记分类: 程序语言2009-01-06 13:35 11823人阅读 评论(10) 收藏 举报c++编译器smalltalkclass语言汇编1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表转载 2014-06-05 12:38:41 · 709 阅读 · 0 评论 -
Sicily 1011. Lenny's Lucky Lotto
ConstraintsTime Limit: 1 secs, Memory Limit: 32 MBDescriptionLenny likes to play the game of lotto. In the lotto game, he picks a list of N unique numbers in the range from 1 to M. If his原创 2013-09-24 20:16:20 · 949 阅读 · 0 评论 -
Sicily 1158. Pick numbers
DescriptionGiven a matrix of size M*N, the elements of which are integer numbers from -10 to 10. You task is to go from the top-left corner (1, 1) to the bottom-right corner (M, N). You can only mov原创 2013-09-24 21:55:30 · 1252 阅读 · 0 评论 -
POJ上的水题
分类: poj1002:电话上按键对应着数字。现在给n个电话,求排序。相同的归一类poj1003:求最小的n让1+1/2+1/3+...+1/n大于给的一个实数poj1004:求一堆实数的平均数poj1005:由坐标 (0,0) 开始,以半圆为形状每年侵蚀50m^2,问(0,0)开始到(x,y)结束需要多长时间poj1006:三个周期是常数。现在给三个周期出现转载 2012-12-18 22:11:20 · 675 阅读 · 0 评论 -
C/C++ 文件输入输出
基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File转载 2012-12-15 17:07:47 · 749 阅读 · 0 评论 -
undefined reference to" 问题解决方
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)转载 2012-12-12 23:42:59 · 871 阅读 · 0 评论 -
快速排序的经典实现
快速排序是一种排序算法,虽然最快情况运行时间为O(n*n),但快速排序通常是排序的最佳选择,这是因为它的平均性能好,期望的运行时间为O(n*logn),而且这个渐进的常数因子很小。下面给出他的C++实现。在程序中是选取了最后一个元素为主元,当然,在其他的版本中可以选取其他元素作为主元甚至随机取数来作为主元以获得更好的平衡性。本程序的详情请见 算法导论第二版 机械工业出版社 第7章 快速排序原创 2012-10-19 20:27:08 · 928 阅读 · 0 评论 -
最长公共子序列求解
求多个字符串的最长公共子序列可以转化为逐步求2个字符串的最长公共子序列来求解直至收敛,虽然过程会比较复杂一些。下面的代码将采用动态规划的方法来求解2个字符串的最长公共子序列的问题,当然里面还包含了测试例子关于本代码的详情解释请看算法导论第二版 机械工业出版社 15章动态规划15.3,看了你再运行代码你会更容易明白#include #include using namespace原创 2012-10-18 21:28:34 · 803 阅读 · 0 评论 -
C/C++ 文件输入输出
基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* Fi转载 2012-08-02 11:12:52 · 897 阅读 · 0 评论 -
ZJUT 1197 倒杨辉三角形 (不是水题胜似水题)
http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1197完全是控制空格的输出,真的。代码如下:#include int main(){ int n; int a[11][11]; int i; int j; int k; int ini; int p; int flag; //freopen("a.txt","r原创 2012-05-26 23:42:13 · 1169 阅读 · 0 评论 -
ZJUT 1191 12!配对 (不是水题胜似水题)
http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1191直接暴力,搞得我还防溢出,原来没有测试溢出的数据代码如下:#include #include int main(){ int i; int j; int re = 0; int a[100000]; bool b[100000]; int counter = 0原创 2012-05-25 18:55:28 · 825 阅读 · 0 评论 -
Sicily 4630. 计算三角形面积 (难得水题)
已三点坐标求三角形的面积,直接用行列式吧,希望海伦公式的也可以试试,这里不装B了。在坐标系中已知三顶点坐标由三个顶点构成的三角形,其面积是下式的绝对值:代码如下: #include double area(double T[3][2]){ double sum; sum = fabs(((T[1][0] - T[0][0]) * (T[2][1] - T[0][1]原创 2012-05-24 23:53:25 · 931 阅读 · 0 评论 -
Sicily 1121. Tri Tiling
DescriptionIn how many ways can you tile a 3xn rectangle with 2x1 dominoes?Here is a sample tiling of a 3x12 rectangle.InputInput consists of several test cases followed by a line co原创 2013-09-26 14:54:53 · 1725 阅读 · 0 评论 -
cocos2d-x游戏开发 跑酷(三) 人物跑动
原创,转载请注明出处:http://blog.youkuaiyun.com/dawn_moon/article/details/21245881好吧,终于要跑起来了。要实现跑酷需要用到帧动画,什么是帧动画,不解释行么。介绍一个将小图打包的工具TexturePacker,这是一个很强大的工具,另外还有一个物理编辑器PhysicsEditor,也不错,地址:http://www.cod转载 2014-05-02 17:45:05 · 4742 阅读 · 0 评论 -
TexturePacker非常棒的游戏资源图像处理工具
欢迎转载!转载时请注明出处:http://blog.youkuaiyun.com/aa4790139/article/details/8106993如果你还没接触到过这个工具,那你今天运气非常好了...下载地址:http://www.codeandweb.com/texturepacker说明:这款软件需要购买的,能够发一百多块买到这么好的工具还是挺值得,可以工具的价钱,肯定他带给的的转载 2014-05-02 17:47:21 · 19695 阅读 · 0 评论 -
如何判断链表中是否有环
今天面试被问住了,很惭愧啊,回来上网查了一下思路。自己写了点程序。1.如何判断是否有环?如果有两个头结点指针,一个走的快,一个走的慢,那么若干步以后,快的指针总会超过慢的指针一圈。2.如何计算环的长度?第一次相遇(超一圈)时开始计数,第二次相遇时停止计数。3.如何判断环的入口点:碰撞点p到连接点的距离=头指针到连接点的距离,因此,分别从碰撞点、头指针开始走,相遇转载 2014-06-05 12:10:26 · 959 阅读 · 0 评论 -
网易游戏测试工程师面试小记
题记:前一阵子跟风投了网易的游戏测试,这边过去好像直接算内推的,没有笔试。昨天通知我去面试,百度地图真是坑爹,输入网易地址 网商路599号 给出的是阿里巴巴的位置,害我找了一会儿。过程:先是自我介绍,然后开始问问题,3个人,一个主问,一个插两句,一个坐在那里对简历发呆。然后就问我平常用什么语言,答曰,以前C,现在C++问题:1、C++里虚函数的作用转载 2014-06-03 20:47:51 · 18976 阅读 · 4 评论 -
cocos2dx 精灵的碰撞检测和消灭
在上一篇的基础上增加了一点内容,必要的注释都写在代码里了,,就直接贴代码吧,我也懒得写详细的过程。HelloWorldSence.h[objc] view plaincopy#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include转载 2014-04-27 15:47:23 · 1470 阅读 · 0 评论 -
cocos2d-x使用python脚本创建项目的简单方法
本文有CC原创,转载请注明地址:http://blog.youkuaiyun.com/oktears/article/details/13297003在cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python脚本创建项目,使用python创建项目需要在命令行敲很多指令,比较麻烦。我把这些命令组合在一起,放在了一个批处理文件中,直接双击打开批处理文件就可以通过几个简单转载 2014-04-26 19:00:24 · 1099 阅读 · 0 评论 -
算法题解析
转自http://blog.youkuaiyun.com/wuzhekai1985/article/details/6597351这几天在网上看到一篇关于算法面试题的博客,归纳的很好,有不少经典的题目,大部分来自《编程珠玑》、《编程之美》、《代码之美》三本书。这里给出书上的解答以及一些思考。如有不对的地方,希望得到高手的指点。【一】 时间受限大部分的面试题,都是对时间复杂度有所转载 2014-04-04 20:35:05 · 886 阅读 · 0 评论 -
表达式求值算法
编写代码对算术表达式求值的经典方法由 Donald Knuth 描述于 1962 年(请参阅 参考资料)。Knuth 将此概括为三个步骤:对中缀表达式进行语法分析中缀表达式到后缀表达式的转换对后缀表达式求值注意到我们谈到的这个经典算法有些简化:算术表达式只包含操作数、二元操作符和一种括号。此外,对于每个操作数和操作符,只用单个字符表示,使语法分析直观。表达式表示法算转载 2014-04-02 23:36:04 · 3464 阅读 · 0 评论 -
百度最新面试题集锦
转载请标明出处,原文地址:http://blog.youkuaiyun.com/hackbuteer1/article/details/73489681、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7) = 4,可以证明最少需要4次运算n = 7n-1 6n/2转载 2014-04-02 22:57:13 · 952 阅读 · 0 评论 -
缓冲区设计--环形队列
缓冲区设计--环形队列http://blog.youkuaiyun.com/billow_zhang/article/details/4420789目录(?)[+]在程序的两个模块间进行通讯的时候,缓冲区成为一个经常使用的机制。如上图,写入模块将信息写入缓冲区中,读出模块将信息读出缓冲区。这样使得:将程序清晰地划分模块,建立良好的模块化架构,使得写入和读转载 2014-04-17 19:16:41 · 1114 阅读 · 0 评论 -
cocos2d-x之HelloWorld范例分析
架构简述 HelloWorld只有两个类:(AppDelegate>>CCApplication)&(HelloWorld>>CCLayer)。main函数 1: int APIENTRY _tWinMain(HINSTANCE hInstance, 2: HINSTANCE hPrevInstanc转载 2014-03-31 23:34:14 · 1274 阅读 · 0 评论 -
cocos2d-x入门(5)-添加背景音乐和攻击音效
游戏没有背景音乐和音效会给游戏扣分不少,现在就给游戏添加背景音乐和发射子弹时的音效。Cocos2d-x已封装了SimpleAudioEngine,我们只要include进来直接调用就行,比较简单。GameScene.cpp头部添加:1#include "SimpleAudioEngine.h"ini转载 2014-05-01 21:29:55 · 864 阅读 · 0 评论 -
cocos2dx如何制作一个塔防游戏 Cocos2d-x 2.0.4
转载自:http://blog.youkuaiyun.com/akof1314/article/details/8674186本文实践自 Pablo Ruiz 的文章《How To Make a Tower Defense Game》,文中使用Cocos2D,我在这里使用Cocos2D-x 2.0.4进行学习和移植。在这篇文章,将会学习到如何制作一个塔防游戏。在这当中,学习如何在设定的时间内出现一波波转载 2014-05-02 22:08:00 · 5853 阅读 · 0 评论 -
C++类前置声明解决类之间互相包含的问题
作者:朱金灿http://blog.youkuaiyun.com/clever101 类的前置声明(forward declaration)和包含头文件(#include)的区别常常会迷惑我们,特别是涉及两个类相互包含的时候。因此我们有必要搞清楚二者的区别以及二者的适用场合。 首先我们需要问一个问题是:为什么两个类不能互相包含头文件?所谓互相包含头文件,我举一个转载 2014-05-02 21:49:47 · 1701 阅读 · 0 评论 -
Sicily 3835. 计算三角形的周长 (难得水题)
直接用距离公式,这个不想说什么了。代码如下:#include #include int main(){ int i; int te; double a[6]; double sum; scanf("%d", &te); while(te--) { for(i = 0; i < 6; i++) { scanf("%lf", &a[i]); }原创 2012-05-25 00:05:16 · 781 阅读 · 0 评论 -
模板类中使用非基本数据类型时的限制(这篇文章有点乱说,别见怪)
模板类在使用非基本数据类型有两个限制:(1)必须有一个默认构造函数,即参数列表为空的构造函数(否则会出现构造函数无法匹配的错误)。(2)必须支持复制运算符(没有涉及深拷贝不用担心,C++默认支持浅拷贝)。实例源代码如下:代码用到了非基本类型string,所以必须添加默认构造函数,否则编译错误。 #include #include using namespace std;原创 2012-05-18 23:43:54 · 951 阅读 · 0 评论 -
Sicily 3497 水仙花数(难得水题)
继续水吧,编程入门题#include int main(){ int i; int a; int b; int c; for(i = 100; i < 1000; i++) { a = i / 100; b = i % 100 / 10; c = i % 10; if(i = a * a * a + b * b * b + c * c * c) {原创 2012-04-29 00:10:45 · 645 阅读 · 0 评论 -
Sicily 1094 Cude解题报告
这个题目是搜索指定矩阵中判断是否存在立方体的展开图,看似简单,其实情况复杂。当然,如果你很懂立方体的展开图,这就是一道水题。接下来说下立方体展开图的知识:立体图形的相关问题可以转化为平面图形来研究,但是我的空间想象能力较差,只有通过探索总结出规律才能解决问题。一、立方体平面展开图中的特点1、当我们从立方体的某顶点出发,最多只能观察到三个面,这三个面中必包括三组相对面中的各一个,原创 2012-04-28 21:05:56 · 1033 阅读 · 1 评论 -
Sicily 4495 Print permutations解题报告
先求出全排列,然后快速排序排个字典序,就搞定。代码如下:#include #include #include using namespace std;const int MaxNum=9;char iArr[MaxNum];int count;char result[40320][10];void ksort(int l, int h, char a[][10] )原创 2012-04-30 02:09:02 · 801 阅读 · 0 评论 -
Sicily 3718 批改作业 (难得水题)
没有最水,只有更水。代码如下:#include int main(){ int n; int m; int counter; int i; int j; double sum; int t; counter = 0; scanf("%d %d", &n, &m); for(i = 0; i < n; i++) { sum = 0; for(j =0;原创 2012-04-30 00:43:34 · 640 阅读 · 0 评论 -
Sicily 3499 分数统计 (难得水题)
看懂就能过。代码如下:#include int main(){ int te; double sum; int n; int t; int i; int min; int max; scanf("%d", &te); while(te--) { min = 101; max = -1; sum = 0; scanf("%d", &n); f原创 2012-04-29 14:48:55 · 646 阅读 · 0 评论 -
Sicily 4629 A + B Again(难得水题)
此题不水,谁与争锋!代码如下:#include int gcd(int m, int n){ int middle; if(m > n) { middle = gcd(m - n, n); } if(m < n) { middle = gcd(m, n - m); } if(m == n) { middle = m; } return middle;原创 2012-04-30 01:04:24 · 850 阅读 · 0 评论 -
Sicily 4187 合法三角形 (难得水题)
没有人能阻止水题了代码如下:#include #include int main(){ int te; int a; int b; int c; scanf("%d", &te); while(te--) { scanf("%d %d %d", &a, &b, &c); if(abs(a - b) < c && abs(a - c) < b && abs(原创 2012-04-29 14:31:38 · 610 阅读 · 0 评论 -
Sicily 3912 计算星期几 (难得水题)
日期的各种水,用之前编过的一个程序改改交了就过。代码如下:#include #include int monthLimit[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};char weekDay[7][10] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Frida原创 2012-04-29 13:47:11 · 675 阅读 · 0 评论 -
Sicily 4699 简单哈希 (难得水题)
这个是真水。代码如下:#include #include int h[10010];int main(){ int n; int m; int i; int key; int t; scanf("%d %d", &n, &m); for(i = 0; i <= m; i++) { h[i] = -1; } for(i = 0; i < n; i++)原创 2012-04-29 03:01:46 · 1463 阅读 · 0 评论 -
Sicily 3498 分解质因数 (难得水题)
继续水吧,水水更健康!代码如下:#include #include int isPrime(int n){ int divisor = 1; int i; for(i = 2; i <= sqrt(n) && divisor == 1; i++) { if(n % i == 0) { divisor = 0; } } return divisor;}原创 2012-04-29 00:31:04 · 1254 阅读 · 0 评论 -
单源最短路径长度Dijkstra(迪杰斯特拉)算法
求单源最短路径长度的时间复杂度为O(n*n),空间复杂度同样为O(n*n),n为总的节点个数模块化实现函数源代码如下:#define POINT 250#define MAXLENGTH 1000001int road[POINT][POINT];int len[POINT];int found[POINT]; void dj(int count, int source){原创 2012-04-15 14:10:02 · 2429 阅读 · 0 评论