C语言
文章平均质量分 53
lwclcy
这个作者很懒,什么都没留下…
展开
-
C语言 struct内存对齐方式
C语言中,struct类型在内存中占有大小根据编译器的不同而不同。现在测试的是以vc++6.0编译环境的结果。在vc++6.0下,我们知道各种数据类型的占用大小不一样。char:1字节int:4字节short:2字节float:4字节double:8字节char:4:0.5字节其 实,这是VC对变量存储的一个特殊处理。为了提高CPU的存储速度,VC对一些变量的起原创 2012-05-17 21:08:07 · 974 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多转载 2012-10-07 11:07:25 · 824 阅读 · 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 · 922 阅读 · 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 评论 -
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 · 7985 阅读 · 2 评论 -
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 · 4156 阅读 · 1 评论 -
计算一个数组中最大子序列的和
输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为 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 评论 -
源码: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 · 958 阅读 · 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 评论 -
一个长度为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 · 12013 阅读 · 7 评论 -
2013年9月7日 阿里巴巴内推面试内容
1、进程之间的通信方式有几种?2、说一下消息机制和通道之间的区别?3、在纸上写下快排的代码?4、数据库的索引怎么实现的?5、Java内存管理机制?6、说一下分布式系统的理解?7、TCP的11种状态之间的转化?8、写一下分布式系统的订阅者和发布者之间的逻辑框架?9、……面试持续时间50分钟。原创 2012-09-09 21:24:53 · 3614 阅读 · 1 评论 -
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 · 1898 阅读 · 1 评论 -
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 评论 -
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 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 评论 -
VC++ socket通信实例 总结
1. 两天计算机通信需要协议,通信的两台计算机IP必须唯一2. 同一个计算机可以进行多个应用程序与其他计算机通信,IP地址唯一,而端口号是区别同一计算机(同一IP)的唯一标示。3. 实际上就类似于一个办公室的总机号码(IP)和分机号码(端口号)4. 协议:为了进行网络中的数据交换(通信)而建立的规则、标准或约定5.原创 2012-08-22 15:40:26 · 48691 阅读 · 7 评论 -
2013年腾讯内推 电面问题 总结
1)蝴蝶编码与哈夫曼编码的区别2)TCP怎样保证可靠传输。3)数据结构课程中,索引数据结构有哪些?4)网页登录时,半小时后的用户名和密码的存储位置?5)项目中感觉的难点在哪里?(问了三次)6)数据库的索引方式,内部怎么实现的?7)如何让团队可靠运转?8)TCP传输与无线传输之间的可靠性联系在哪?9)TCP中,当出现网络拥塞的时候,怎么处理?10)怎样把TCP的协原创 2012-09-07 08:32:54 · 4293 阅读 · 1 评论 -
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 · 7043 阅读 · 0 评论