
c++
代码小卒
这个作者很懒,什么都没留下…
展开
-
剖析Windows消息处理机制
剖析Windows消息处理机制1.窗口 Windows程序是由一系列的窗口构成的,每个窗口都有自己的窗口过程,窗口过程就是一个拥有有固定 Signature 的 C函数,具体格式如下: LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam转载 2014-07-01 14:53:50 · 397 阅读 · 0 评论 -
连续输入若干个数,用空格隔开,存入数组中
int a[5]; for (int i=0;i<5;i++) { cin>>a[i]; }原创 2014-09-16 18:36:55 · 3728 阅读 · 0 评论 -
2015创发科技校园招聘笔试题—— union考察
http://blog.163.com/shengrui_step/blog/static/2087091872013830113025185/http://www.cnblogs.com/rereadyou/articles/2000433.html转载 2014-09-25 15:51:07 · 1795 阅读 · 0 评论 -
2015创发科技校园招聘笔试题——把矩阵顺时针旋转90度
第一种方法http://blog.youkuaiyun.com/friendan/article/details/8824682 第二种方法http://www.nowamagic.net/librarys/veda/detail/1044#define n 4 //矩阵顺时针旋转90度 void Rotation(int a[n][n]) { int i; int k;原创 2014-09-25 15:38:56 · 2475 阅读 · 0 评论 -
用分治法求最大最小值
http://www.nowamagic.net/librarys/veda/detail/257 // 用分治法求最大最小值 public static int getMax(int[] array, int i, int j) { int Max1 = 0; int Max2 = 0; if (i == j) { return Max1 = Max2 = array[j转载 2014-09-25 09:38:33 · 1402 阅读 · 0 评论 -
基于快速排序思想求,数组最大的k个数,数组中出现次数超过一半的数,数组中最大的k个数
http://blog.youkuaiyun.com/sicofield/article/details/9008831转载 2014-09-25 18:39:39 · 926 阅读 · 0 评论 -
把数组排成最小的数
题目:输入一个正整数数组,把数组里的所有数字拼接起来排成一个数,打印出能拼接处的所有数字中最小的一个,例如,输入数组,{32,321},则打印出这个3个数字能排成的最小数字32132.通过比较组合的字符串的大小来排序原来的整数数组,例如 32和321比较的结果是 ”32321“>"32132" 所以认为 32是大于321的。利用冒泡paixu原创 2014-09-29 16:52:12 · 919 阅读 · 0 评论 -
memcpy和strcpy
http://blog.youkuaiyun.com/xiaobo620/article/details/7488827转载 2014-10-09 09:23:52 · 686 阅读 · 0 评论 -
BSS段、数据段、代码段、堆与栈
http://www.cppblog.com/prayer/archive/2009/08/17/93594.htmlBSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的转载 2014-09-30 08:47:51 · 618 阅读 · 0 评论 -
剑指offer重要题目整理总结
剑指offer重要题目总结原创 2014-09-29 10:36:44 · 1281 阅读 · 0 评论 -
动态创建二维数组
main(){ int i; int **arr; arr=(int **)malloc(ROW*sizeof(int*)); for(i=0;i<ROW;++i) arr[i]=(int*)malloc(COL*sizeof(int)); printf("%d\n",arr[ROW-1][COL-1]); f转载 2014-10-13 11:10:48 · 659 阅读 · 0 评论 -
指令流水线的计算
计算k段流水线执行n条指令的执行时间,有必要区分两种情况:如果流水线中的各段执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一段的时间(n-1)t。如果流水线中的各段执行时间不等,且最长段的执行时间为tmax,那么执行n条指令的时间就是执行第一条指令的时间T,加上其余n-1条指令各执行最长段的时间(n-1) tmax。转载 2014-10-13 10:00:11 · 3421 阅读 · 1 评论 -
保证只能在堆上new一个类对象
有的时候为了保证一个类的对象必须在堆上被创建, 比如当我们需要手动控制一个对象的生命周期的时候, 这个时候就必须保证这个对象是在堆上创建的, 如何保证呢, 有个小的技巧:class A{public: void Close() {delete this; }private: ~A() { ... };};int main(){转载 2014-10-13 10:37:06 · 952 阅读 · 0 评论 -
正则表达式
正则表达式基本语法,及正则表达式匹配编程思路原创 2014-10-13 10:23:54 · 864 阅读 · 0 评论 -
编程之美重要题目整理
编程之美题目答案收集整理原创 2014-09-27 11:04:42 · 1243 阅读 · 0 评论 -
利用递归巧妙实现组合
实现组合原创 2014-09-30 20:40:47 · 1073 阅读 · 0 评论 -
scanf的考察
http://wenku.baidu.com/link?url=8TMqT7qEAqPA8WSBIJsK5VP6qMHI_LPvULL9Ilvrm_FUaICPZJPiSWuGBZzP0bjmYbudyLwG8jqE7t7_V-7IzHNanBCSeaIVUNBHXX1TuCqscanf格式控制的完整格式:% * m l或h 格式字符①格式字符与printf函数中的使用方式转载 2014-10-16 21:05:09 · 965 阅读 · 0 评论 -
乐其网络2015校园招聘笔试题——处理汉字字符的问题
其中有一道处理汉字字符的,从一个含有汉字的字符串中截取若干个字符,汉字不能截取一部分。void split_name( char * name , char * store , int len) { if (len>strlen(name)) { return; } int i=0; int j=0; for( i=0;i<len;) { if(name[i]>-1&&na原创 2014-09-16 21:14:36 · 3111 阅读 · 0 评论 -
利用归并排序思想求数组中的逆序对
http://blog.youkuaiyun.com/seuliujiaguo/article/details/39555481 这是快排其他的应用http://blog.youkuaiyun.com/seuliujiaguo/article/details/39404161 这是我前一个博文快排方法题目:给定一个数组,比如5, 1, 2, 3, 4,求解该数组中逆序对的数目(这个数组包含4个逆序原创 2014-09-26 10:07:32 · 1627 阅读 · 0 评论 -
子数组的最大乘积
子数组的最大乘积 定一个长度为N的整数数组,只允许使用乘法,不能使用除法,计算任意(N-1)个数的组合乘积中最大的一组,并写出算法的时间复杂度。思路一:我们把所有可能的(N-1)个数的组合找出来,分别计算它们的乘积,并比较大小。时间复杂度为O(N*N).思路二:通过空间换时间来降低时间复杂度。设array[]为初始数组,s[i]表示数组前i个元素的乘积,其中1转载 2014-09-26 21:49:38 · 680 阅读 · 0 评论 -
中兴移动的笔试题,字符串的移动
中兴移动的笔试题,字符串的移动原创 2014-08-22 16:57:48 · 848 阅读 · 0 评论 -
利用后缀数组找字符串中相同且长度最长的字符串
int con_sub(char *str,char *ret){int max_len=0;//记录最大长度int temp_len=1;int len=strlen(str);char** next=(char**)malloc(sizeof(char *)*len);for (int i=0;i<len;i++)//后缀数组{next[i]=str+i;}for (int k=1;k<(le原创 2014-08-22 20:24:31 · 700 阅读 · 0 评论 -
字符串中的内容逆置
void fun(char* w){ int len=strlen(w); int i=0,j=len-1; while (i<j) { char temp=w[i]; w[i]=w[j]; w[j]=temp; i++; j--; }}原创 2014-08-22 17:07:53 · 1658 阅读 · 0 评论 -
怎样解互联网公司笔试中的逻辑推理题
http://blog.sina.com.cn/s/blog_aa4275a401015ps3.html原创 2014-09-01 11:33:29 · 3672 阅读 · 0 评论 -
类成员函数的重载、覆盖和隐藏区别?
a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:转载 2014-09-09 15:37:45 · 630 阅读 · 0 评论 -
C++面试题总结
1.http://blog.sina.com.cn/s/blog_a8b2435901013nw3.html2.转载 2014-09-08 09:24:59 · 1057 阅读 · 0 评论 -
2015CVTE校招面试经历
一面:5个问题1.你为什么选择这个岗位2.以后可能会遇到什么问题3.如果公司未录用你,可能是什么原因4.如果来到我们公司你会放弃什么5.谈谈你最有成就感的项目后续更新中。原创 2014-09-15 10:41:27 · 3330 阅读 · 0 评论 -
阿里巴巴2015校招笔试附加题2解答
#include void getNext(char *p,int *next){ int j,k; next[0]=-1; j=0; k=-1; while(j<strlen(p)-1) { if(k==-1||p[j]==p[k]) //匹配的情况下,p[j]==p[k] { j++; k++; next[j]=k; } else原创 2014-08-29 21:11:14 · 777 阅读 · 0 评论 -
百度2015校园招聘笔试题——求数组最大子序列和
//最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},//它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,//只要前i项的和还没有小于0那么子序列就一直向后扩展,否则丢弃之前的子序列开始新的子序列,//同时我们要记下各个子序列的和,最后找到和最原创 2014-09-23 15:59:12 · 1105 阅读 · 0 评论 -
2015大众点评校园招聘笔试题——比较两个字符串的相同部分和不同部分
利用数组哈希表实现//字符串str1,字符串str2,str1的长度n1,str2的长度n2,res1存储相同字符,res2存储不同字符void charcmp(char* str1,char *str2,int n1,int n2,char* res1,char* res2){ int a1[60]={0};//利用哈希数组记录str1相应字符出现的次数,共有52个大小写字母,asci原创 2014-09-23 12:23:34 · 1678 阅读 · 0 评论 -
求一个字符串中连续出现的次数最多的子串
#include "stdafx.h"#include using namespace std;//求一个字符串中连续出现的次数最多的子串。例如字符串“abababc”,最多连续出现的为ab,连续出现三次。//要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。两个题目的解法有些类似,//都用到了后缀数组这个数据结构。求一个字符串中连续出现的次数最多原创 2014-08-22 17:54:38 · 828 阅读 · 0 评论 -
最长公共子串(LCS)
最长公共子串(LCS)找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。其实这又是一个序贯决策问题,可以用动态规划来求解。我们采用一个二维矩阵来记录中间的结果。这个二维矩阵怎么构造呢?直接举个例子吧:"bab"和"caba"(当然我们现在一眼就可以看出来最长公共子串是"ba"或"ab") b a bc 0 0 0a 0 1 0原创 2014-09-23 17:46:39 · 1030 阅读 · 0 评论 -
sprintf函数在字符串处理的妙用
//转化字符串为原来字符串+该字符串出现的次数void TransChar(char* str,int n,char* res){ int res_len=0;//结果字符串现有长度 int count =1;//当前字符出现的次数 for (int i=0;i<n;i++) { if (str[i+1]==str[i]) { count++; }原创 2014-09-24 09:09:45 · 2542 阅读 · 0 评论 -
C++多层派生时的构造函数顺序问题
一个类不仅可以派生出一个派生类,派生类还可以继续派生,形成派生的层次结构。在上面叙述的基础上,不难写出在多级派生情况下派生类的构造函数。通过例下面的程序,读者可以了解在多级派生情况下怎样定义派生类的构造函数。相信大家完全可以自己看懂这个程序。[例11.7] 多级派生情况下派生类的构造函数。转载 2014-09-15 15:28:02 · 1368 阅读 · 1 评论 -
剑指offer面试题48 C++写一个不能被继承的类
/*在C#和java中分别有关键字sealed 和 fina表示一个类不能被继承 但是C++ 没有可以这么想 一个派生类 必须调用父类的构造函数和析够函数 如果父类把构造函数和析够函数定义成private了即便共有继承 private 的内容也在子类不可见这个类不能被继承 通过静态函数调用构造函数*/#include#includeusing namespace std;转载 2014-09-15 15:15:57 · 743 阅读 · 0 评论 -
二进制加法
基本思路是这样的:【看这里,一语道破天机】考虑二进制加法的过程,步骤一、A^B,能够得到没有进位的加法。步骤二、A&B,能够得到相加之后,能够进位的位置的信息。向左移动一位,就是两个二进制数相加之后的进位信息。所以,(A&B)步骤三、将前两步的结果相加。相加的过程就是步骤一和步骤二,直到不再产生进位为止。int Add(int num1,int num2)原创 2014-09-26 16:58:57 · 3063 阅读 · 0 评论 -
使用动态库时出现,error LNK2019 无法解析的外部符号可能的解决方法。
1动态库的编译环境和使用动态库的编译环境不一致。2,导出动态库的头文件中,不能含有函数的实现。原创 2014-12-26 12:07:02 · 2847 阅读 · 0 评论