Offer on the way
文章平均质量分 79
quickSort
Programme my future
展开
-
const限定符和指针
1、指向const对象的指针;指针指向const对象,但是指针本身是普通变量,可以修改和赋值。例如:const int * p;这样定义效果和上面完全一样:int const * p;这个指针p指向这样的对象:const int,也就是说,p指向的对象是不能修改的。*p = 23;//error: *p might be const但是,原创 2013-03-14 21:28:10 · 1022 阅读 · 0 评论 -
随机数问题
最初问题:从n个数中随机选择m个数(0为了便于描述,可以将该问题抽象为:从0-n-1这n个数中随机选择m个数。计算机能够提供的随机数都是伪随机的,我们假设计算机提供的伪随机数为真正的随机。原创文章,转载请注明出处:http://blog.csdn.net/fastsort/article/details/101628710、产生一个随机数系统(c/c++)提供的rand函数只有15原创 2013-08-21 22:51:06 · 2318 阅读 · 1 评论 -
矩形子数组的最大和
问题:给定m*n的矩阵,求矩形子数组的最大和。原创 2013-08-10 15:45:55 · 2348 阅读 · 0 评论 -
kmp算法(上)
字符串匹配的常规算法和kmp算法的详细分析过程。原创 2013-08-11 18:01:28 · 1258 阅读 · 0 评论 -
kmp算法(下)——next数组
4、如何计算next数组 对于给定的字符串p,其next数组的含义是:对于k=next[j],p的前缀p[0…k-1]和p的后缀p[j-k…j-1]匹配,k要尽可能的大,且k<j.我们可以根据上述含义写出next的brute force计算代码。复杂度应该是O(n2)。 换个思路,现在next[0]=-1,next[1]=0.假设k=next[j原创 2013-08-14 21:44:26 · 1873 阅读 · 0 评论 -
自增与指针取值运算符——C/C++运算符优先级表
++和--的运算优先级比*高。#include #include void printa(int * a){ printf("a[]:"); int i; for(i=0;i<7;i++) printf("%d ",*(a+i)); printf("\n\n");}void seta(int *a){ int i;原创 2013-03-17 22:08:48 · 4098 阅读 · 0 评论 -
2014华为校园招聘第三轮上机题目(南京-C/C++)
2014华为校园招聘第三轮上机题目(南京-C/C++)形式: 使用OJ的形式,但是没有时间与内存限制。工具:C/C++是VS2005,Java是Eclipse。 原创文章,转载请注明出处:http://blog.csdn.net/fastsort/article/details/113868271、回文数(60分)给定一个数,判断在7原创 2013-09-08 17:09:21 · 3010 阅读 · 4 评论 -
单链表的操作合集
单链表的一些基础算法,做了好长时间,在这里做一个总结。链表节点定义如下:struct Node{ Node * next; int data;};本部分使用的链表都是带头结点的。判空的条件为h->next==0.1.1.1 单链表的就地反转原创 2013-03-11 20:44:12 · 967 阅读 · 0 评论 -
C++内存管理
C++内存池初探原创文章,转载请注明出处:http://blog.csdn.net/fastsort/article/details/12356369///mymem.h 使用自己定义的内存管理需要包含这个头文件#ifndef __mymem_h__#define __mymem_h__template class CachedObj{public: v原创 2013-10-06 20:35:57 · 1681 阅读 · 1 评论 -
C++中的动态绑定
C++中的动态绑定 动态绑定(dynamic binding):动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。 C++中,通过基类的引用或指针调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指原创 2013-04-03 21:19:27 · 3228 阅读 · 4 评论 -
各种排序算法
排序算法总结:直接插入排序、冒泡排序、快速排序、简单选择排序、堆排序。以下均是对数组a[n](a[0…n-1])按升序排序,如果需要降序,类似.原创文章,转载请注明出处:http://blog.csdn.net/fastsort/article/details/100505651、直接插入排序思路:初始时认为a[0]是有序的,然后依次将a[1]…a[n-1]插入到序列中原创 2013-08-18 19:11:47 · 1294 阅读 · 0 评论 -
生成随机数|打乱数组 问题
问题描述:从0-n-1这n个数中任意选出k个数。原创 2013-05-27 21:18:36 · 3088 阅读 · 5 评论 -
最大子数组问题——编程珠玑第八章
最大子数组问题——编程珠玑第八章原创 2013-08-07 23:06:06 · 1341 阅读 · 0 评论 -
KMeans聚类算法
KMeans算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k-means 算法基本步骤(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小原创 2013-03-30 15:01:07 · 1927 阅读 · 0 评论 -
双向链表的插入删除和查询
实现双向链表的插入删除和查询,并写出测试用例。#include #include using namespace std;/****实现双向链表的插入、查找、删除*xx笔试算法题***/typedef struct Node{ int data; struct Node * next; struct Node * prev;}No原创 2013-03-17 23:57:30 · 1167 阅读 · 0 评论 -
湫湫系列故事——减肥记II
湫湫系列故事——减肥记IITime Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1263 Accepted Submission(s): 537Problem Description 虽然制定了减肥食谱,但原创 2013-04-01 10:43:52 · 1312 阅读 · 0 评论 -
微软2013年暑期实习招聘笔试回忆[已补充完整]
刚考完,开始觉得做的还好,下来把不确定的验证下,发现悲剧了好多。。【刚刚(20130415晚上)居然收到面试通知邮件。。。不知道那天能不能去。。。。】总共20道选择题,全部不定项。总分100分,时间75分钟。去年时间是90分钟的。。。。1~8,做对3分,半对2分,错误-2分,不做0分9~18,做对5分,半对3分,错误-3分,不做0分19~20,做对13分原创 2013-04-06 18:40:47 · 13174 阅读 · 56 评论 -
C++中的运行时类型识别(RTTI)
C++中运行时类型识别(RTTI) 1、dynamic_cast操作符 将基类类型的指针或引用安全的转换为派生类类型的指针或引用。注意:基类至少带有一个虚函数,这样源类型才可能是多态的,才会在运行时确定类型。否则将导致编译错误。 如果转换成功,则返回一个指向转换后类型的指针或引用;如果转换失败,指针类型的转换结果为0,引用类型则抛出bad_cas原创 2013-04-24 11:44:29 · 1266 阅读 · 0 评论 -
找出数组中的缺失数据和重复数据
20130506微软实习生面试二面题目:一个数组,大小为n,其元素大小范围为1-n。其中一些数缺失了,另外一些数则重复。先要求找出其中重复的数和缺失的数。我几乎没怎么想,很快的写出:/************************** * a[n],元素范围:1-n * 输出重复的和丢失的数**************************/void fa(原创 2013-05-16 21:25:24 · 3137 阅读 · 2 评论 -
bitset类的实现
问题:实现一个bitmap类(为避免与stl中的bitset重名),用于位图。测试用例:BitMap bm(20);bm[3] = 1;bm[5] = 0;bool b = bm[12];其本质上是用内存中的一位来表示某种意义。难点在于,使用int或者unsigned int类型保存多位bool变量(也就是0或者1)后,怎么重载下标操作符。如果不使用下标而是使用函数,例如原创 2013-05-13 23:03:34 · 1427 阅读 · 0 评论 -
Linux常用命令总结
基本文件操作1、touch 创建文件2、cp 复制、链接(s,l)文件3、mv 重命名,该过程称为移动4、rm 删除文件(-rf也可以删除目录)目录处理5、mkdir 创建目录6、rmdir 删除目录(仅用于空目录) cd 进入某个目录查看文件7、stat 查看统计信息8、file 查看文件类型(文本、可执行文件、数据文原创 2013-05-01 08:49:11 · 871 阅读 · 0 评论 -
实习面试总结
实习面试问题总结(思杰、IBM、Intel、微软、思科等)。原创 2013-08-04 12:23:37 · 1692 阅读 · 0 评论 -
回调函数
什么是回调函数?回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。以上来自百度百科,读着很是拗口。先请看图:模块A需要调用模块B中的函数,一般情况下是直原创 2013-04-01 16:01:29 · 1200 阅读 · 0 评论 -
打印蛇形矩阵
题目:对于给定的n,打印出如下型式的蛇形矩阵。例如n=3时输出: 1 2 3 8 9 4 7 6 5n=4时输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7void fun(int *a, int n,int m, int s){ if(n<=0||m<=0) return; if(原创 2014-01-09 17:09:48 · 1453 阅读 · 0 评论