Archive for the ‘C++编程’ Category
C++中堆与栈的区别
星期一, 九月 26th, 2011
我们大家都知道堆是由程序员申请内存分配获得,一般都涉及动态内存分配与处理。栈是操作系统自动分配的内存空间,不需要程序员负责管理。申请动态内存忘记释放就有可能导致内存泄露,既然堆的使用这么麻烦,为什么还要使用堆呢?
C++面试问题之struct,union和class的区别
星期一, 九月 26th, 2011
在软件开发工程师中,笔试和面试有时候会问到一些细节问题,比如C语言和C++中struct的区别,不了解C语言的人可能还不太清楚。C++笔试和面试经常遇到的就是struct和class的区别,想必几乎所有准备的人都会回答这个问题,但是继续问union与他们的区别呢?可能很多人一时都无法回答出来。
含有头结点的单链表逆序
星期二, 九月 20th, 2011
最近参加华为机试和中兴笔试都遇到了单链表逆序,在机试过程中采用了投机取巧的办法把结点中的data逆序了一遍,输出结果正确。不过单链表本身并没有发生逆序,防止下次还遇到相同考题,回来还是把单链表逆序给写一下吧!
2012年华为南京机试C++编程题
星期六, 九月 17th, 2011
同学都陆续到华为参加了机试,题目整体难度不大,基本上都是考字符串相关的题目。这里就分享一套2012年华为南京机试C++或者C的编程题目。
C++编程实现快速排序
星期六, 九月 17th, 2011
快速排序又称之为分区排序,排序算法是:任取待排序元素序列中的某个元素作为基准,按照元素的排序码大小,将整个元素序列划分为左右两个子序列,然后对两个子序列分别重复上述过程,直到所有元素都排在相应位置为止。七叶草用C++编程实现快速排序算法,分析过程如下。
C++编程实现希尔排序
星期六, 九月 17th, 2011
希尔排序又称缩小增量排序,其基本思想是:先取一个小于n的整数gap作为第一个增量,把文件的全部记录分成gap个组。所有距离为gap的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量gap2 星期六, 九月 17th, 2011 折半插入排序(binary insert sort)又称二分法插入排序,其基本思想是:设在数据表中有一个元素序列v[0],…,v[n-1]。其中,v[0],…,v[i-1]是已经排好序的元素。在插入v[i]时,利用折半搜索法寻找v[i]的插入位置。这里,七叶草就用C++编写一个实现折半插入排序的函数。 星期五, 九月 16th, 2011 插入排序的基本方法是:每步将一个待排序的元素,按其排序码大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。直接插入排序的基本思想是:当插入第i个元素时,前面的0到i-1个元素已经排序好。这时,用该元素与前面的i个元素进行比较,找到插入为止即将该元素插入,原来位置上的元素向后顺移。 星期五, 九月 16th, 2011 离华为的机试越来越近了,哥的C++编程能力实在不敢恭维,必须准备一下。网上到处找找有没有往年的机试题,这不,同学又发了一份2011年重庆地区C++机试题目,分享一下: 星期五, 九月 16th, 2011 报了华为公司的软件工程师,今天我们学校居然还要机试,郁闷!人人网看到一篇2012届华为校园招聘上机考试题目,发现难度不大,基本上和华为发给我们的邮件通知中案例难度差不多。题目一共三道,都比较简单,不要求算法效率,也不要求对所给数据的合法性作检测,主要还是注重基础知识的考察,和大家分享一下,希望对接下来的同学有所帮助。 星期一, 九月 5th, 2011 学习C++编程之路真是痛苦的经历,C++网络编程更是非常复杂。计算机网络基本知识如ISO/OSI七层参考模型、TCP/IP协议等都是需要了解的东西,端口、套接字(socket)更是需要了解的重点。这里把socket编程流程给记录下来,以后忘记的时候可以来查看一下。利用C++编程实现折半插入排序
用C++编程实现直接插入排序
华为2011年C++程序机试题
2012届华为校园招聘上机考试题目(9月6日)
Socket编程流程