摘要: 一,题目 给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;};函数的声明如下: void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);二,分析 这是一道广为流传的Google面试题,能有效考察我们的编程基本功,还能考察我们的反应速度,更重要的是,还能考察我们对时间复杂度的理解。在链表中删除一个结点,最常规的做法是从链表的头结点开始,顺序查找要删除的结点,找到之后再删除。由于需要顺序查找,时间复杂度自然就是O( 阅读全文
posted @ 2012-08-23 23:10 MXi4oyu 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 一,题目 用C++设计一个不能被继承的类。二,分析 在Java中定义了关键字final,被final修饰的类不能被继承。但在C++中没有final这个关键字。 首先想到的是在C++中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。 可是这个类的构造函数和析构函数都是私有函数了,我们怎样才能得到该类的实例呢?通过定义静态来创建和释放类的实例。三,实现 下面是一个单利模式的实现#include < 阅读全文
posted @ 2012-08-23 22:31 MXi4oyu 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 一,题目 输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};二,分析 解法一:把链表中链接结点的指针反转过来,改变链表的方向。然后就可以从头到尾输出了。参考 解法二:从头到尾遍历链表,每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始输出结点的值,此时输出的结点的顺序已经反转过来了。该方法需要维护一个额外的栈,实现起来比较麻烦。 解法三:递归本质上就是一个栈结构。于是很自然的又想到了用递归来实现。要实现反过来输出链表,我们每访问到一个结点的时候,先递 阅读全文
posted @ 2012-08-23 22:08 MXi4oyu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一,题目 某队列的声明如下:template<typename T> class CQueue{public: CQueue() {} ~CQueue() {} void appendTail(const T& node); // append a element to tail void deleteHead(); // remove a element from headprivate: T m_stack1; T m_stack2;};二,分析栈:后入先出,插入删除在栈顶操作 队列:先入先出,插入... 阅读全文
posted @ 2012-08-23 21:50 MXi4oyu 阅读(196) 评论(0) 推荐(0) 编辑
摘要: //Author:smilelance//From:http://blog.csdn.net/smilelance//转换C#代码:using System.Runtime.InteropServices;//结构体转换成字节流public static byte[] StructToBytes<T>(T obj) {int size = Marshal.SizeOf(typeof(T)); IntPtr bufferPtr = Marshal.AllocHGlobal(size);try { Marshal.StructureToPtr(obj, bufferPtr, false 阅读全文
posted @ 2012-08-23 18:54 MXi4oyu 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 如果说硅谷承载的梦想有一条街那么多,那么这条街就是位于Palo Alto(帕洛阿尔托)的University Avenue(大学街)了!这个小镇以斯坦福大学而闻名,也因为居住着斯坦福大学的教授们,显得时尚而知性。谷歌就是从University Avenue起家的,PayPal也是如此。在创业天才扎尔伯格把Facebook的大本营移出了他的寝室之后,就把根据地扎在了Palo Alto!科技巨头们把Palo Alto称作“家”。苹果CEO Tim Cook,谷歌CEO Larry Page,还有Facebook CEO Mark Zuckerberg都住在这里。Palo Alto的林荫大道,明媚的 阅读全文
posted @ 2012-08-23 16:48 MXi4oyu 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 一,简介 Linux 下用汇编语言编写的代码具有两种不同的形式。 1)完全的汇编代码 指的是整个程序全部用汇编语言编写。尽管是完全的汇编代码,Linux 平台下的汇编工具也吸收了 C 语言的长处,使得程序员可以使用 #include、#ifdef 等预处理指令,并能够通过宏定义来简化代码。 2)内嵌的汇编代码 指的是可以嵌入到C语言程序中的汇编代码片段。虽然 ANSI 的 C 语言标准中没有关于内嵌汇编代码的相应规定,但各种实际使用的 C 编译器都做了这方面的扩充,这其中当然就包括 Linux 平台下的 GCC。二,Linux环境下汇编语言的分类 绝大多数 ... 阅读全文
posted @ 2012-08-23 16:13 MXi4oyu 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 一项新的调查结果表明,WindowsPhone市场正稳步增长,同时诺基亚在这个市场上也逐渐获得越来越多的市场份额。鉴于这两个趋势,有人可能会认为不管是对微软还是诺基亚来说,这都是件好事,但事实可能并非如此。 问题就出在WindowsPhone的份额,尽管实现了增长,但增长的速度还是不够快,特别是对于像诺基亚这样将自己的身家性命都押注在微软手机系统上的公司来说,这点小增长还不足以达到理想的目标。 这项研究只是调查了从今年1月份以来的数据,WindowsPhone手机的数量在全球范围内增长了312%,在美国则增长了273%。与此同时,诺基亚WindowsPhone的全球市场份额从22... 阅读全文
posted @ 2012-08-23 16:01 MXi4oyu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Node,是基于javascript的编程技术,可以说,一段时间以来互联网创业者们都非常喜欢这个网站,而现在它变得更加容易获取到企业级的应用程序,不过这要多亏了在Engine Yard上的名流。Engine Yard云等级算得上是商业级,为Ruby on Rails和PHP应用程序高端配置平台服务,从昨天开始,它还将支持Node应用程序。 添加到Node.js是Node趋势列车以最高速度前行加入Engine Yard快乐家族的一个重大标志,Node,正如我们和Node的核心贡献者/Rackspace工程师Paul Querna谈到说,趁着年轻,准备大干一番。 Node满足云提供服... 阅读全文
posted @ 2012-08-23 15:28 MXi4oyu 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 下一代iPhone即将面世,而关于其传闻更是数不胜数,此前下一代iPhone的零部件还被泄露,不过现在看来泄露的部件也很像是iPad上的。不过遗憾的是,它们并不适合iPad4。 泄露的部件很真实,据称有新的基座连接器、8阵脚(也可能是9阵脚)的连接口以及一个可逆插头。苹果公司甚至还采用了塑料材质的部件以搭配黑色或白色款式的设备。我们知道这应该是适用于iPad上的,因为它们比iPhone上相类似部件要大得多,不过它们也不像是iPad4上的,因为iPad3今年3月才刚刚发布,关于iPad4的传闻还不成熟。因此,这应该是iPad Mini的传闻。为什么这么有趣呢? 虽然说本质上没有什么... 阅读全文
posted @ 2012-08-23 11:23 MXi4oyu 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 现在很多硬件制造商面临同样的的问题,就是在想如何能把电脑做得更薄,吸引更多的顾客。电脑占用空间比较大、很沉,拿在手里特别不好。然而出现了一种新技术,那就是ThinTouch和ForcePad产品使用触摸技术,使你的电脑更薄,它将代替当前一直在使用的毫米技术。 或许大多数人知道笔记本电脑,却不知道Synaptics(新思科技)。Synaptics公司一直负责当今的许多笔记本电脑的触摸板。在昨天的一个公告里,我们发现Synaptics制造出比以前更薄、更轻的笔记本电脑。新的ThinTouch键盘和ForcePad触摸板的使用增强触摸敏感性,降低厚度,大约只有以前的一半。 这个Thin... 阅读全文
posted @ 2012-08-23 10:46 MXi4oyu 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 韩国电子制造商在YouTube上发布了Galaxy NoteII的视频,展示了一个新的Note产品,并且暗示8月29日进行对外发布。三星Galaxy Note II智能手机,距离公开之时更接近了,不再是一个传闻。 38秒钟的特性展示由德国导演维姆·文德斯设计,他最著名的电影是柏林苍穹下,谈及Galaxy Note II官方宣传视频的创意和灵感,镜头聚焦于三星的年代笔,唱片机的播放针在一个电话显示器上滑动,以8月29日三星在柏林IFA消费电子展上公开Galaxy Note II的事件结束。如果三星在德国启动一个Note II智能手机,它可能抢先苹果的下一个iPhone上市,据传苹果新i 阅读全文
posted @ 2012-08-23 10:09 MXi4oyu 阅读(155) 评论(0) 推荐(0) 编辑
摘要: iPodnano的股市似乎在全国各地零售商不断减少,暗示苹果正在尽快计划更新音乐播放器。发现9to5Mac在亚马逊、Target、Walmart(沃尔玛)和BestBuy(百思)店里短缺。一个常见的指示器产品将会被苹果恢复。 第六代的iPodnano在2010年发布的,完全背离前一代的iPodnano。并不比iPodshuffle大,第六代iPodnano是由一个限制多点触控的小广场触摸屏,尽管它包含一个类似于iOS界面,它仍然运行相同的操作系统Pixo,推动前代iPodnano以及经典的iPod。 苹果不会打扰在2011年更新的nano(或许根本没有iPod),在那时除了一个轻... 阅读全文
posted @ 2012-08-23 09:40 MXi4oyu 阅读(152) 评论(0) 推荐(0) 编辑