- 博客(14)
- 资源 (27)
- 收藏
- 关注
原创 字符串的构造函数和析构函数以及赋值函数的重载
字符串的构造函数和析构函数以及赋值函数的重载,是面试中经常考到的问题,意在考察应聘者对于重载以及构造函数、析构函数的理解。程序如下:#include#includeusing namespace std;class String{public: String(const char*str = NULL); String(const String &other);
2012-10-22 07:36:19 3019 1
原创 关于内存的思考
一、void GetMemory(char *p){ p = (char*)malloc(100);}void Test(void){ char *str = NULL; GetMemory(str); strcpy(str,"Hello,World"); printf("%s",str);}请问运行Test有什么样的结果?答:在函数内部修
2012-10-22 07:02:27 984
原创 两个链表中的第一个公共节点
题目:输入两个链表,找出它们的第一个公共节点。链表的定义如下:struct ListNode{int m_nKey;ListNode *m_pNext;};面试这道题的时候很多的面试者第一反应就是采用蛮力的方法:在第一个链表上顺序遍历每个节点,每遍历到一个节点的时候,在第二个链表上顺序遍历每个节点。如果第二个链表上的节点和第一个链表上的节点一样,就说明两个链
2012-10-21 10:24:03 8922
原创 如何判断单链表里面是否有环
定义两个指针p、q,然后让p、q同时从链表头向后查找,注意他们移动的步幅是不同的分别为a、b,例如p指针每次执行一次【p = p->next;】q每次执行两次【q = q->next;】,如果q先到链尾【if(q->next == NULL)】则没有死循环(这里假设q比p的移动速度要快),如果p、q在此之前相遇了则有死环。实现的函数如下:bool CircleInList(
2012-10-21 08:40:24 1317
转载 华为面经
作为一个学计算机的,最后签了华为总感觉有些纠结。。。。。。废话不多,先背景:本人大学本科女,学校985+211。计算机专业,成绩还算说得过去吧。第一轮:简历。华为公司官网有自己的简历模板,尽量填全一点。因为我注册的特别早,所以当时还没有项目经验,就没填,直到接到机考通知,项目部分都是空白的。第二轮:机考。这个机考相当的变态,出的题相当简单,只要是学过C或者Java的都能写出来。
2012-10-21 08:29:43 2202
转载 关于求职
最近读了几篇帖子,大多关于新人求职、工作的。本来想在帖子下一一回复,但太多太杂,可能回复的不是很好,所以就另起个帖子,介绍自己的情况:当初毕业是怎么找到工作的,如何在一年时间内从新手成长为老手。如果里面的经验、建议能让一些人有一丁点的帮助,我就心满意足了。 我在南京,10年本科毕业,大学是个普通一本(既不是211也不属于985),数学专业毕业。做了一年delphi,11年中旬跳入一家国企
2012-10-21 08:20:23 623
原创 斐波那契数列
又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。而斐波那契数列在程序中也会经常遇到。下面是我写的一个简单的斐波那契数列。#includeint Pheponatch(int);
2012-10-20 14:33:34 811
原创 快速排序
快速排序是面试中经常被考到的算法,所以掌握快速排序很重要。。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。例:5 2 6 8 4 3 7经过第一次快速排序之后: 3 2 4 5 8
2012-10-20 11:33:55 613
原创 自增运算符的重载
运算符的重载有两种方法:1、通过成员函数来重载2、通过友元函数进行重载重载的一个重要的特点:1、成员函数参数的个数 = 几目运算符 - 1;例如: = ,+,+=,这些运算符都是双目运算符,所以类的成员函数的参数是1.2、友元函数参数的个数 = 几目运算符。一般说来,单目运算符最好被重载为成员函数,双目运算符被重载为友元函数。下面是前置自增运算符和后置自增运
2012-10-20 10:21:55 1429
原创 二分查找
二分查找是面试中经常考到的题目,所以一定要掌握二分查找的思想。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。 下面通过我
2012-10-18 07:40:49 807
原创 二叉树的遍历
二叉树是面试中经常考到的题目,也是最能考察一个初级程序员的思维能力和逻辑能力,以及对指针掌握的能力。经常的二叉树题目分为两种: 一、对二叉树进行前序遍历、中序遍历、后序遍历。 二、对已经给出的二叉树的前序遍历和中序遍历或者给出的中序遍历和后序遍历求出二叉树,并进行遍历输出。 这里的二叉树的遍历主要是针对静态二叉树遍历来说的。二叉树的结构如下:程序代码如下:#
2012-10-06 16:46:39 3543
原创 求循环链表答疑
今天是国庆节的第四天,早上起来写了一个关于循环链表的程序。单循环链表的结构如下:下面是我写的具体的程序:#include#include#includetypedef struct node{ int data; struct node *pNext;}NODE,*PNODE;PNODE creat_List(PNODE);void tr
2012-10-04 10:26:49 871
原创 循环队列
队列分为两种,一种是链式队列,一种是静态队列,而静态队列一般通过循环队列来实现。下面是一个简单的循环队列的程序。#include#includetypedef struct queue{ int *pBase; int rear; int front;}QUEUE;void init_queue(QUEUE*);//初始化队列void
2012-10-02 10:41:22 870
原创 堆栈的进栈以及出栈
今天是国庆节的第一天,没有出去旅游,在学校学习,马上就要找工作了,希望能够找到一个好的工作。堆栈是今天上午写的一个程序。堆栈是一种先进后出的数据存放的格式。具体的操作见程序:#include#include#includetypedef struct St{ int data; struct St *pNext;}NODE,*PNODE;typede
2012-10-01 12:04:11 6470 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人