
网上收集
文章平均质量分 50
birdzb
这个作者很懒,什么都没留下…
展开
-
异或的妙用
整理自csdn论坛里的一个帖子!有两个文件A,B。A文件中存储了N个整形数(N可能很大,里面的数可以重复)。B文件比A文件少了一个数,其他的全部相同,但顺序不一样。设计一个方法,判断B文件中比A文件少了哪个数。思路: int A = A1^A2^A3^...^An int B = B1^B2^B3...^Bn-1; 那么所求的那原创 2007-09-21 10:05:00 · 1533 阅读 · 0 评论 -
如何取两个已排序数组的交集?
整理自csdn上的一个帖子.1,3,5,6,7,92,4,6,7,8,9如何能够最快的取出交集.思路:因为是排好序了,可以同时搜索.此法还是用了循环逐个比较,所以不一定是最快的.程序:#include void main(){ int a[] = {1,3,5,6,7,9}; int b[] = {2,4,6,7,8,9}; int c[6]={0}; int s=0,n=0; f原创 2007-09-21 16:41:00 · 1142 阅读 · 0 评论 -
如何求得3个一组的五组数字中相同数字的个数?
整理自csdn上的一个帖子。有5组数字,分别是3位一组,例如578,129,569,175,518这5组数字,要得到如下结果: 1、合并百位重复的数1和5,得到结果5和1,并告知重复数字是2个。若全是百位1的话,则得到结果1,并告知重复数字是1个。 2、全部数字排列后得到578129569175518,合并所有重复的数字得到结果5781296,并告知最后数字是7个。思路:1、开长度为 1原创 2007-10-10 16:45:00 · 2514 阅读 · 0 评论 -
sizeof详解
前向声明: sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。 但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。 菜鸟我对C++的掌握尚未深入,其中不乏错误,欢转载 2007-10-12 11:27:00 · 1600 阅读 · 0 评论 -
结构体中的位域
位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二转载 2007-10-12 14:46:00 · 15318 阅读 · 1 评论 -
C++中堆和栈的区别,自由存储区、全局/静态存储区和常量存储区
文章来自一个论坛里的回帖,哪个论坛记不得了! 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果转载 2007-10-12 10:50:00 · 2363 阅读 · 0 评论 -
致精团队笔试题2道
A、两个数组,一个长度n,一个长度2n但是只有前n个数字有效。他们都是排序的。现在要把第一个数组合并到第二个数组里面并且使得结果仍然保持排序,求O(n)算法void merge(int* a , int* b , int n); B、已知两个单向链表,尾部是共享的,看起来是Y字形,现在给出两个链表头,求出相交的第一个节点,要求O(n)struct node{node* ne原创 2008-04-18 16:58:00 · 841 阅读 · 0 评论