![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
iamzhaiwei
这个作者很懒,什么都没留下…
展开
-
malloc/free和new/delete的区别
一、相同点:都可用于申请动态内存和释放内存二、相同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对转载 2011-10-18 21:52:38 · 407 阅读 · 0 评论 -
雅虎面试题─有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
有双向循环链表结点定义为:struct node{ int data; struct node *front,*next;};有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除。用两个向量A_vec、B_vec分别存储链表A、B的元素值,将A_vec、B_vec排序,用类似归并排序的方原创 2012-06-22 16:01:34 · 7324 阅读 · 1 评论 -
淘宝面试题:有一个一亿节点的树,现在已知两个点,找这两个点的共同的祖先。
如题。分析:假设这棵树的每个结点都有n的指针指向n棵子树,可能有的子树为空。已知的两个结点的关系有两种情况:一个结点是另一个结点的祖先,这种情况第一个结点是两个结点的共同祖先;第三个结点是两个结点的共同祖先。算法:递归遍历每个结点,如果当前结点是空结点,返回NULL,如果当前结点等于两个结点中的一个,返回当前结点指针递归遍历当前结点的所有子树,返回n个结点指原创 2012-06-30 16:46:37 · 4782 阅读 · 2 评论 -
Linux多线程──生产者消费者
生产者消费者问题这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经装原创 2012-07-12 20:51:17 · 7164 阅读 · 4 评论 -
Linux多线程──读者写者问题
读者写者问题这也是一个非常经典的多线程题目,题目大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。程序:// reader_writer.cpp//////////////////////////////////////////////////////////////////////// 读者写者问题原创 2012-07-12 21:37:56 · 5296 阅读 · 1 评论 -
中缀、前缀、后缀表达式之间的转换
中缀表达式转换为后缀表达式:从前面扫描,从前面输出中缀表达式转换为前缀表达式:从后面扫描,从后面输出前缀表达式和后缀表达式转换为中缀表达式:重建计算树,中序遍历树,子节点的优先级若低于父节点,子树的表达式两端加括号稍后贴上源程序原创 2012-07-19 21:21:12 · 846 阅读 · 0 评论 -
C语言标准IO
这几天参加中兴捧月比赛,用到了C语言的标准IO库。由于对其中的一些细节不是非常清楚,导致了许多Bug,花了好长时间来调试。所以在此做个笔记,以备后查。1. 缓冲区全缓冲。在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对驻留在磁盘上的文件的访问通常是由标准I/O库实施全缓冲的。 缓冲区可由标准IO例程自动冲洗(如当填满一个缓冲区时),或调用函数fflush强制冲洗。行缓冲原创 2012-07-27 16:00:59 · 1152 阅读 · 0 评论 -
选择原料工厂
12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?分析:1、是一维问题,不是二维,可以抽象成:有12个点分布在一维坐标轴上,选择3个点,使得剩余的点到最近的点的距离之和最小。2、工厂距离是从小到大排序的原创 2012-07-28 17:13:27 · 2202 阅读 · 0 评论 -
数据结构与算法试题集锦
1 数组1.1 两个已排序的整型数组,求交集,最快算法 (百度)输入:两个已排序的整型数组(int a[m], b[n])输出:两个数组的交集分析:注意有4种情况:a升序,b升序;a升序,b降序;a降序,b升序;a降序,b降序。1.2 逆序对(百度)多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身原创 2012-08-30 20:05:11 · 6890 阅读 · 0 评论 -
Windows编程优秀博文汇总
C/C++ 的文件读写操作总结(一) http://blog.csdn.net/jia0511/article/details/7615982C/C++ 的文件读写操作总结(二) http://blog.csdn.net/jia0511/article/details/7615990Windows内存管理机制http://blog.csdn.net/yeming81/art转载 2012-09-23 22:29:14 · 2582 阅读 · 0 评论 -
C++面向对象程序设计
基本概念面向对象程序设计:以对象为中心,将数据和方法封装在一起。三要素:抽象继承 多态五个基本原则:单一职责原则:就一个类而言,应该有且仅有一个引起它变化的原因。开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。里氏替换换原则:子类应当可以替换父类并出现在父类能够出现的任何地方。依赖倒置原则:高层模块不应该依赖低层模块。两个都应该依赖抽象。抽原创 2012-09-04 20:36:19 · 1236 阅读 · 2 评论 -
面试题─用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列
用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,如:512234、412325等,要求:"4"不能在第三位,"3"与"5"不能相连。// str: 字符串// begin: 字符串第一个字符的索引// end: 字符串最后一个字符的索引// cnt: 统计全排列的数目,调用之前赋值为0void string_full_permutation_conta原创 2012-06-22 20:12:06 · 3816 阅读 · 1 评论 -
雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。实现了unsigned long型的转换。// 十进制转换为二进制,十进制数的每1bit转换为二进制的1位数字char *int_to_bin(unsigned long data){ int bit_num = sizeof(unsigned long) * 8; char *原创 2012-06-22 15:28:53 · 4073 阅读 · 3 评论 -
内存泄露 内存溢出
内存泄露 http://baike.baidu.com/view/714962.htm内存溢出 http://baike.baidu.com/view/79183.htm转载 2011-10-18 22:16:12 · 330 阅读 · 0 评论 -
C/C++笔试面试题
strcmp strcpy atoi atol 为什么虚函数效率低http://topic.csdn.net/u/20081031/12/06d0e218-8aab-4203-850c-9e6b76099c09.html?20373转载 2012-04-05 16:41:25 · 634 阅读 · 0 评论 -
百度笔试面试题整理
1、A厂有1万个工人,编号0-9999,( EE[10000] ), 1个厂长( GG )分派任务, 1个监工( MM )管理工人。厂子忙的时间不确定,可能突然很忙,1天接到任务5000多个,1个任务只能分配给1个工人做, 也可能好几十天没新任务。厂长分配任务给这1万个工人干,按工人编号一个一个来,到最后一个工人就又从头开始,任务完成时间各不相同,可能一个工人在分配任务的时候手里还有任务,转载 2012-04-05 14:44:08 · 705 阅读 · 0 评论 -
腾讯笔试面试题整理
http://topic.csdn.net/u/20081029/22/c8fe34c1-25ab-4b94-986e-4c2fd4caa664.html1、设计一个魔方(六面)的程序。2、有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。3、收藏了1万条url,现在给你一条url,如何找出相似的url。(面试官不解释何为相转载 2012-04-05 16:21:05 · 2314 阅读 · 2 评论 -
微软等公司数据结构+算法面试100题--树
引用自博客 http://blog.csdn.net/v_JULY_v1.(原第1题)----------------------------------------------把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 /转载 2012-04-25 18:03:20 · 844 阅读 · 0 评论 -
微软等公司数据结构+算法面试100题--链表
1.(原第7题)----------------------------------------------微软亚院之编程判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?2.(原第13题)------转载 2012-04-28 14:02:32 · 996 阅读 · 0 评论 -
微软等公司数据结构+算法面试100题---数组
1.(原第3题)----------------------------------------------------------------------求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 1转载 2012-05-05 20:02:26 · 1121 阅读 · 0 评论 -
Linux下C/C++开发工具注意事项
1、 make 时钟错误make: Warning: File `Makefile' has modification time 4.6e+07 s in the futuremake: 警告:检测到时钟错误。您的创建可能是不完整的。解决方法:运行下列命令再makefind . -type f -exec touch {} \;转载 2012-06-18 22:37:05 · 686 阅读 · 0 评论 -
谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。Google2009华南地区笔试题给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。比如,A=[1,0] K=原创 2012-06-21 19:47:08 · 7412 阅读 · 1 评论