C/C++
文章平均质量分 53
lwclcy
这个作者很懒,什么都没留下…
展开
-
VC++ MFC总结,一点点
1) CFrameWnd类和CView都是继承了CWnd类 2) CWnd类主要封装了和窗口控制有关的东西。3) 实际上微软提供了部分MFC源代码,在目录:D:\ProgramFiles\Microsoft Visual Studio\VC98\MFC\SRC 下面。Winmain函数就是在APPMODUL.CPP文件里面。原创 2012-08-20 22:50:21 · 958 阅读 · 0 评论 -
一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字
一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字bool IsDuplicateNumber(int *array, int n){ if(array==NULL) return false; int i,temp; for(i=0;i<n;i++) { while(array[原创 2012-10-07 22:51:07 · 12016 阅读 · 7 评论 -
二叉树先序,中序,后序遍历非递归实现
#include #include #include #include #include #include using namespace std;typedef struct BiTNode{ char data; BiTNode *lchild, *rchild;}BiTNode,*BiTree;void CreateBiTree(BiTree &T)//建树,按先序顺原创 2012-10-06 22:48:04 · 1154 阅读 · 0 评论 -
找出数组中两个只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。#include using namespace std;void FindTwoDifferentNum(int a[], int n, int &num1, int& num2)//返回数组a中两个只出现一次的数字num1和num2{原创 2012-10-06 22:48:51 · 923 阅读 · 0 评论 -
快速排序的改进
改写partition算法。要求:一次partition之后,小于基准元素key的数在左边,等于key的在中间,大于key的在右边思路一:参照算法导论上的思想,做出改进:i指向小于基准元素的序列的末尾,j指向等于基准元素的序列的末尾,k指向当前遍历到的元素。 #include #include using namespace std; void print(int *arr,原创 2012-10-07 16:53:51 · 710 阅读 · 0 评论 -
n个数依次入栈,出栈顺序有多少种?
这个问题是卡特兰数的第n项结果。卡特兰数 卡特兰数前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020,原创 2012-10-07 21:00:11 · 7894 阅读 · 0 评论 -
C语言 求一个大数的阶乘
C语言 求一个大数的阶乘void BigFactorial(int m){ static int a[50000]={0,1};//第一位不用 int i,j,carry,tmp,lenth=1;//carry表示进位 for (i=2;i<=m;i++) { carry=0; for (j=1;j<=lenth;j++) { //乘法转化为加法和进位 t原创 2012-10-08 11:08:04 · 7993 阅读 · 2 评论 -
计算一个数组中最大子序列的和
输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为 O(n)。int arr[10];void randData(int a[], int start, int end){ srand(time(NULL)); for (int i = start; i <= end; ++原创 2012-10-08 15:43:42 · 1437 阅读 · 1 评论 -
谷歌面试:实现两个N*N矩阵的乘法,矩阵由一维数组表示
这个题主要是弄清楚那一部分是行,哪一部分是列就可以了。代码使用了三个变量来实现不同行和列的递增。行和列相乘的函数,如下:#define size 2int * multi(int* a, int* b, int N){ int i,j,k,temp; int * c = (int *)malloc(N*N); for(i=0;i<N;i++) { for(j=0;j原创 2012-10-08 21:57:30 · 3673 阅读 · 0 评论 -
C语言 输出一个数组中,所有元素之和为0的子序列
本程序用到了一个时间种子,来随机产生10个整数[-5~5],函数是randData( )。还有一个计算子序列为0的函数ZeroSubarray( )。randData( )如下:int arr[10];void randData(int a[], int start, int end){ srand(time(NULL)); for (int i = start; i <= e原创 2012-10-08 15:08:33 · 4157 阅读 · 1 评论 -
源码:C++中的各种字符类型之间的转换
wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString//////////////////////////////////////////////////////////////////////#include // 使用CString必须使用MFC,并且不可包含#define _AFXDL原创 2012-12-04 15:30:55 · 959 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多转载 2012-10-07 11:07:25 · 826 阅读 · 0 评论 -
C语言 二维数组的行列区别
#include #include /*=============================================================*/int main() { int b[]={1,2,3,4}; printf("b=%d,*b=%d\n",b,*b);//&,1 printf("------------------------------------原创 2012-09-10 09:34:47 · 7046 阅读 · 0 评论 -
2013年9月7日 阿里巴巴内推面试内容
1、进程之间的通信方式有几种?2、说一下消息机制和通道之间的区别?3、在纸上写下快排的代码?4、数据库的索引怎么实现的?5、Java内存管理机制?6、说一下分布式系统的理解?7、TCP的11种状态之间的转化?8、写一下分布式系统的订阅者和发布者之间的逻辑框架?9、……面试持续时间50分钟。原创 2012-09-09 21:24:53 · 3615 阅读 · 1 评论 -
C语言 不用循环,输出1到1000
不用循环,实现1到1000的输出。代码如下:#include "stdio.h"#define A(x) int main () { int n = 1; return 0;}这里巧妙利用了宏函数的方式,每个x;输出一个n++,那么x;x;x;x;x;x;x;x;x;x;代表输出10次。而,A(A(A(printf ("%d ",原创 2012-08-21 16:21:55 · 3171 阅读 · 0 评论 -
VC++ 基础知识 总结
1) C++中,结构体内部可以有函数,C语言中不能有函数。2) C++中,结构体和类可以通用,结构体是一种特殊的类,特殊性体现在它是struct定义的类。3) 结构体,缺省的成员访问类型是public,类的是private。4) 类的一个实例就是一个对象。5) 面向过程和面向对象的比较:比如,打开一个收音机。面向过程的实现方式是实现一个打开函数,收音机是以参数的方式传进来,然后打开原创 2012-08-20 16:04:23 · 3667 阅读 · 0 评论 -
VC++ 基于UDP的控制台聊天程序socket通信
程序分为客户端和服务器端,具体实现过程可以看前面的文章 VC++ socket通信 总结下面把服务端和客户端程序列出来。服务器端程序:#include #include void main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1,原创 2012-08-22 20:58:21 · 2340 阅读 · 0 评论 -
C语言的strcpy函数和自己写的函数
微软给的strcpy函数有好多潜在问题。时间问题,抽时间再详析,直接上代码。#include #include #define GENERICvoid *MyStrcpy( void *dst, const void GENERIC *src, unsigned int len ){ unsigned char *pDst; const unsigned char GENERI原创 2012-09-02 16:03:57 · 1899 阅读 · 1 评论 -
C语言 静态变量、全局变量、局部变量、指针变量 地址
#include static int ax,mx;static int bx=1,nx=2;void main(){ int i; char *p="asd"; printf("%d,%d,%d\n",ax,bx,i); printf("ax:%X\nmx=%X\nbx=%X\nnx=%X\ni=%X\np=%X\nasd=%X\n",&ax,&mx,&bx,&nx,&i,原创 2012-09-02 21:13:30 · 1470 阅读 · 0 评论 -
void类型参数在C/C++中的不同
在C语言中,void类型是没有问题,代码如下:main.c#include #include #define GENERICvoid *MyStrcpy( void *dst, const void GENERIC *src, unsigned int len ){ unsigned char *pDst; const unsigned char GENERIC *pSrc;原创 2012-09-02 21:02:35 · 1103 阅读 · 0 评论 -
一个火柴模式问题和一个火车运煤问题
前几天在看一个网站上,看到了几个面试C/C++语言的趣味问题,火柴模式问题,火车运煤问题。火柴模式问题:火柴模式问题大意是,记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏。程序也可以这样玩。比如,下面一个程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。原创 2012-08-24 15:35:33 · 1370 阅读 · 0 评论 -
C语言 变量在内存的地址分布
#include void main(){ int i=1,j=2; char s[]="123456"; char d[]="123"; printf("i=0X%08X\nj=0X%08X\ns=0X%08X\nd=0X%08X\nprintf=0X%08X\n",&i,&j,s,d,printf);}原创 2012-09-02 16:53:01 · 1075 阅读 · 0 评论 -
VC++ socket通信实例 总结
1. 两天计算机通信需要协议,通信的两台计算机IP必须唯一2. 同一个计算机可以进行多个应用程序与其他计算机通信,IP地址唯一,而端口号是区别同一计算机(同一IP)的唯一标示。3. 实际上就类似于一个办公室的总机号码(IP)和分机号码(端口号)4. 协议:为了进行网络中的数据交换(通信)而建立的规则、标准或约定5.原创 2012-08-22 15:40:26 · 48696 阅读 · 7 评论 -
2013年腾讯内推 电面问题 总结
1)蝴蝶编码与哈夫曼编码的区别2)TCP怎样保证可靠传输。3)数据结构课程中,索引数据结构有哪些?4)网页登录时,半小时后的用户名和密码的存储位置?5)项目中感觉的难点在哪里?(问了三次)6)数据库的索引方式,内部怎么实现的?7)如何让团队可靠运转?8)TCP传输与无线传输之间的可靠性联系在哪?9)TCP中,当出现网络拥塞的时候,怎么处理?10)怎样把TCP的协原创 2012-09-07 08:32:54 · 4293 阅读 · 1 评论