| 颖 的个人资料milkwayhong日志 | 帮助 |
|
2月28日 20世纪最好的10个算法 zz
2月26日 学习到的 去东软报道的路上,一黄牛评价大学生就业说:“大学生要有黄牛精神,不愁找不到工作!”当时正是科学宫开招聘会的时候,凭票入内,看来该黄牛又赚了不少。
不过看科学宫外,宣传单和用过的票满地都是,看来找不到工作的学生很多也不是没有原因的。 11月19日 我认为的一个不错的小程序 大学毕业时,同学到东软找工作的时候就是问的这个题,有些印象。后来在学程序设计方法学时再次遇到,不过每次遇到都要想想,不如干脆写道这里,mask一下。
题目如下:
一个数组中存有-1,0,1三类数若干,无序。排序成-1在前,0在中间,1在末尾。时间o(n),空间o(1)。
关键代码
int pf,p0,p1;// 负,0,1
p0 = p1 = n-1;//n为数组长度
while(p0!=pf)
{
if(a[p0]==-1)
{
a[p0]<-->a[pf];
pf++;
}
else
{
if (a[p0]==1)
{
a[p0]<-->a[p1];
p0--;
p1--;
}
else
p0--;
}
}
指向函数的指针 一直以为这个东西没什么用,才发现它的用处还是很大,在os底层,估计这种用法还是很多的。
我们还是太年轻,不知道的东西还很多。这次论文收获很大,学到不少东西,弄清楚了很多概念,不是以前不知道,而是以前不知道自己不知道。现在知道自己不知道很多东西,同时也知道知道了一些。好像绕口令呀,大学毕业的绕口令又用了一回。要是读博士不知道会不会再用一回,呵呵。
C/C++语言中指向函数的指针
在C语言中,函数本身不是变量,但可以定义指向函数的指针,这种指针可以被赋值、存放于数组之中,传递给函数及作为函数的返回值等” --《The C Programming Language Second Edition》 下面给出几个简单的例子来说明指向函数的指针。
第一个例子说明指向函数的指针如何说明、赋值、调用。
#include
#define TESTDATE 100 int func(int a) /* func用于打印一个整数 */
{ return printf("%d\n",a); } main() { int (*FunctionPionter)(int a); FunctionPionter = func; (*FunctionPionter)(TESTDATE); return 0; } 其中重点语句的含义如下:
int (*FunctionPionter)(int a); FunctionPionter: 指向一个返回整数的函数的指针,这个指针有一个整数参数。 FunctionPionter = func; 将FunctionPionter指向函数func;其中函数必须已经定义,且函数和函数指针的说明的返回值必须一致。 (*FunctionPionter)(TESTDATE); 通过函数指针调用函数;因为函数指针已经指向函数,所以用*取出函数指针的内容就为函数本身。 了解这些大概就够了。
不过在网上找的这个例子还是写全比较好。
下面这个例子显示如何将指向函数的指针传递给函数、作为函数的返回类型。在这个例子中,有三个函数:
hello:返回字符指针的函数,用来返回字符串“hello world!\n” RetFunc:返回一个指向函数的指针的函数,且返回指针所指的那个函数为一个返回字符指针的函数。 call:返回一个void *型的指针,且call有一个指向函数的指针的参数,且这个函数指针返回一个字符指针 #include
#define MAX 100 main() { void *call(char *(*)()); char *(*RtnFunc())(); /* 上面两个说明有些复杂 */
printf("%s",call(RtnFunc()));
return 0; } char *hello()
{ return "Hello World!\n"; } char *(*RtnFunc())()
{ return hello; } void *call(char *(*func)())
{ return (*func)(); } 上面的例子中,main()无法直接调用hello函数,利用两个函数分别返回hello和调用hello,实现了在main()中调用hello。虽然,似乎这个程序显得多余但却很好的说明了如何把指向函数的指针传递给函数、作为函数的返回。其中call函数利用了void *型指针的灵活机制,使得call的适用性大为增加,这也正是指向函数的指针的优点之一。同样的例子是《The C Programming Language Second Edition》中下面这个函数调用:
qsort((void **) lineptr, 0, nlines-1, (int (*)(void *, void *))(numeric ? numcmp : strcmp));
其中,使用了两次强制类型转换,其中第二甚至是利用指向函数的指针,将函数的类型进行了转换。当然上面语句在某些编译器上无法通过,因为某些编译器要求条件表达:
表达式1 ? 表达式2 : 表达式3 中表达式2与表达式3的类型相同。当然这样的要求是不符合ANSI标准的。在ANSI标准中,如果表达式2与表达式3的类型不同,则结果的类型由类型转换规则决定。当然,我们可以变同一下,先将两个函数的类型进行强制转换来达到目的: qsort((void **) lineptr, 0, nlines-1, numeric ? (int (*)(void *, void *))numcmp : (int (*)(void *, void *))strcmp));
对于如何直接说明一个像RtnFunc一样返回指向函数的指针的函数,我查阅了不少资料,都没有找到答案,最后是自己硬着头皮摸索出来的。由此,我也对C的复杂说明有了更深刻的体会,将在以后的技术日记中写出来。当然在我看来,过多的、不合适的使用这些复杂说明,并不是一种好的编程风格,因为它将使程序变得难以理解,同时也增加了出错的可能性。
一个比较好的折衷的方法是使用typedef来使程序的含义明朗。下面给出用typedef给写上面那个程序的例子,其中定义个一个类型PtoFun,用typedef说明PtoFun是指向函数的指针类型,指针所指的函数返回一个字符指针,且没有参数。 #include
#define MAX 100 typedef char *(*PtoFun)(); main()
{ void *call(PtoFun); PtoFun RtnFunc(); printf("%s",call(RtnFunc()));
return 0; } char *hello()
{ return "Hello World!\n"; } PtoFun RtnFunc()
{ return hello; } void *call(PtoFun func)
{ return (*func)(); } 改写后的程序的可读性大为增加,给人一目了然的感觉。
论文修改差不多了,不错。继续努力! 11月8日 参加婚礼的感触 又有一个同学结婚了!
上周末去锦州参加婚礼,略有感触。上个月高中同学结婚,在盘锦,房子140m2,1400¥/m2大概20W吧,很好的一个小区。这次的是老婆大学同学,在锦州,房子87m2,13W-14W大概1500¥/m2。
想想自己,无奈。只好安慰幸好不是在北京上海。
不同地方有不同生活呀!
不同的家境需要不同的努力带来不同的结果。
原来一直引以为傲的班级第一远不如父母当权来的实惠,大概最大的好处是让我找到理想的老婆。呵呵。 10月31日 为了记录而记录 上周五老婆同事过生日,一同前往。这个生日party真是好事多磨,连续推迟了两次,搞得大家颇有怨言。不过吃的玩的都很好,大家都很开心,还相约下次go on。
吃,是在盆盆香,重庆风味的盆盆鸭唇、盆盆大虾真是不错,水煮鱼量足价格也不高。推荐爱吃这个口味的xdjm去品尝。辽宁日报社南一百米左右吧。
酒足饭饱后去快乐迪唱歌。音像效果不错!犹豫几位老师都上了不少课,嗓子经受不了这种高强度,大部分时间都留给大菲对象和我表现。没想到就我这歌声也有这个时候,哈哈。刚开始还是有些迷惑人的,尤其是《有多少爱可以重来》,开头唱的不错,慢慢就露馅了,听到旁边的笑声。呵呵。
玩的真是不错!
今天研究一个趣味小题,abcde×f=gggggg(为>0,<10的不同整数),这个东东看似很简单,一动手竟然屡屡出错,真是汗颜呀,而且前两天刚刚做过abc+def=ghij,看来基本功不过关,思路转变慢,程序优化不熟练。问题真的很多,看来还是要慢慢练内功。 10月27日 东软游记今天去东软看了一看。 因为要把体检结果送到东软,本来可以让同学帮忙的,不过还是想看看这个未来工作的地点,就跑了一趟。 做东软的班车还是满快的,10点出发,10:18就到了,还以为要跑个半拉点呢。 由于是深秋,路边的树光秃秃的,小草也是稀疏的,不过整体感觉不错,大气。 A1楼的3楼是HR部门,教体检结果,ok 去我们部门看了一看,员工也是热火朝天,气氛不错。和部门领导谈了一会,了解了今后工作内容,决定提前看看。 不过,还是先玩玩游戏吧,呵呵。
10月19日 混面试 今天下午去中共中央办公厅机要局的招聘会。开始由一位30来岁的工作人员介绍情况。 头一回知道了政审的内容:1、直系亲属和主要社会关系无关管押的;2、、直系亲属和主要社会关系无法轮功分子;3、、直系亲属和主要社会关系无定居海外的。挺有意思。 这次挑选的包括数学系(代数、数论、密码方向)、通讯(网络通信协议)、计算机电子(无线通讯协议、DHP、FPEG、网络协议、OS)、微电子(集成电路、数电)。 大家普遍认为自己学的东西不深刻,当时没有好好学习基础理论,有些遗憾。 面试我的时候就是问问愿不愿意调到省市县级的研究所,愿意。OK,照相,写下父母名字,OK,走人。等了进2小时,面了不到5分钟。ft! 还是回来继续厚集薄发吧! 东软菲利普没有给我通知,又一个不需要牵挂的地方。 10月16日 bbs偶遇同学 今日上白山黑水bbs,看一帖问谁收到P&G面试的邀请并寻同去长春的路友,小生不才也收到邀请,不过业已卖给他人,遂留言收到,不过已经卖给东软。
不久收到消息,问签东软的相关信息,ID为dbdxyjs。一聊方知原来是英语班的同组同学,真是巧呀。并且得知ID含义为东北大学研究生!真是天才。
晚上在老边饺子吃饺子,真贵!没什么饺子竟然160一斤,拿金子包的呀。只好买点30一斤的。出来的时候碰到一个同学,周庆。也是面东软的一个同学,不过人家倒是没着急签,呵呵。 《大长今》1个小时以前,湖南台70集的大长今结束了。估计我又有一段时间不会看电视了。
个人认为《大长今》是一步不错的电视剧,原版的情节紧凑、扣人心环,人物突出、个性鲜明。我最喜欢的是大龄熟手姜得九夫妇,看到他们就想笑,真是给我带来无限的快乐。
老婆看的比较细,说原版大长今每集结束的时候都是长今回头的镜头,湖南台的改的成了广告版。
真是精辟呀。不愧是我的老婆。
长今的故事真是传奇呀,好多次都是马上被赶出宫,都在紧急关头来个大逆转,估计70集(原版估计60集,看了56集的原版)这种大逆转发生70次左右吧。
长今就是所谓的国企领导型的人物吧,呵呵。她的指着可是真的很厉害,认准了一直坚持,即使付出性命也在所不惜。而且坚持原则,对坏人也不搞手段,真是以德服人。
值得学习的地方很多,也许要慢慢体会。
BTW:国企领导型的人物 反映超冷静型 10月15日 工程是一群人的孤单, 科研是一个人的狂欢!今天还是记点什么吧。
今天实验室例会,感觉好久没有参加了。看《机器公敌》,不过看了大概30分钟机器就读出D版盘,罢工了。换。换个关于航空的美国国家地理杂志出的片子。记不太清楚了,睡了一会,呵呵。
狂欢是一群人的孤单, 孤单是一个人的狂欢!
工程是一群人的孤单, 科研是一个人的狂欢!
看来以后要在孤单和狂欢中生活了。
不知道是自己选择还是被动的接受选择。
10月14日 就业协议签订!周二开始的笔试,昨天面试,今天签就业意向 现在想想跟做梦似的 昨天高中同学打电话来问我工作找的如何,我说应该没有什么问题。撂了电话,看到一个未接电话,打回去询问,哇,原来是通知今天下午签就业意向书。这个动作也太快了吧。
下午一点半,看到很多熟人,呵呵。
开始由HR的薛美红公布分配的部门,我分在东软集团嵌入式软件部门,和我的预期差不多。大部分的同学都选择去了大连,叹。
之后是介绍公司教育、待遇、假期等等。
试用期3个月,硕士2800-4000,这个跨度太大了一点吧。
社保:养老保险 8%+20% 医疗保险 2%+8% 失业保险 1%+2% 工伤保险 住房公积金10%+10%
假期:每年5个工作日的假期。国家法定假日(1.1 5.1 10.1 春节) 春节2周假
奖金:年底发放,平均3个月工资 据说嵌入式部门每个月有绩效奖金(不知道是不是真的)
住房:一次性补贴1500
嵌入式部门分沈阳、大连、北京,而且在筹备成都公司。
业务:手机软件开发、测试
沈阳:Motorola测试 产品研发、基础研发,后悔昨天信誓旦旦说非常想去做项目,汗。
大连:索爱
北京、成都:NOKIA
据说北京在搞3G,不过人员都是本科生,听得我一头雾水。
不管了,反正是打算留沈阳,嵌入式就比较不错了,就是菲利普怎么还没有动静呢,难道是被pass了。
就先记录这么多吧。
总是感觉决定做的太快,有些儿戏似的。也许面试的时候他把我问的焦头烂额,然后在我战战兢兢时通知我通过了,签订就业意向书的时候会有酣畅淋漓的感觉吧。人呀,怎么说呢?呵呵。
东软面试记 记录一下昨天面试的经历吧。 上午下雨,决定不去实验室,下午2:00直接去东软的面试。在家看电视&上网聊天,11:07接到东软电话,改到11:30面试,迅速穿衣,下楼。等到11:25时再次接到电话,面试的老师有事——赶去退房!面试改到下午1:30,叹。买盒饭,回实验室。 1点10分出发,路上碰到张进、张潇,同去。到时发现已经有很多人在等待了,找个地方我们三人聊天。没过多久叫我面试。估计我应答的时候寒了一堆GG的心。没办法,向来如此。进入,一大连来的面试官。自我介绍,他在此时看我的笔试卷。问我对于工作地点的意向。沈阳。大连那?也行。去大连怎么样?此时才知道他是大连的面试官,要不怎么总问这个呢?心想,上午不是他吧感兴趣哪个方面。不记得怎么忽悠了。又问希望做什么?嵌入式。觉得系统软件如何?也行。不过近期做得都是嵌入式方面,希望能从事这个方面相关行业。要是进实验室先做嵌入式后来做软件方面,就会希望做软件了。(我自己也觉得理由勉强,不过没想出其他理由。)恩,那你一会去那边面试一下吧。...由于那边有人,我们有聊了两句,还是关于去大连做软件的内容。 又是自我介绍,他看我的笔试成绩。上来介绍了一下名字,就把实验室两块牌子砸上,还特意提了一下不同与于戈老师的沈阳市嵌入式技术实验室。介绍一下无线传感器网络吧。心中偷笑。赶紧介绍一下。估计他听得@。问有什么研究方向。 关于操作系统、路由方向。我停了一下,想继续讲讲链路层、数据融合等。他就说,还是在实验阶段吧。 是,赶紧介绍所谓的传感器短信报警系统。说了几句。他说恩,是通过模块收发吧。 赶紧答是。 又是问工作地点,明确了在沈阳。又问你是想搞研究还是项目。答项目。 为什么? 介绍短信群发项目。(毕竟都是项目)他说你都了解这个过程,你觉得做项目有什么好的?看来是对我刚才的回答不是很满意,赶紧答到,做项目感到别人用你做的东西让人感到有成就感(这个是金山软件骗人时候的宣传语)。我们做的是外包。我说就是给别人做东西。 整个过程是给别人做得,可能你会默默无闻,整个牌子都是其他人的。表示理解,不知道怎么回答,表示无所谓。 你对今后5-10年有什么打算?心想项目经理,哈哈。答希望进行管理,介绍短信项目二期的管理,呵呵。他说我没问题了,你有什么问题。提问,你们是那个部门。他说了一个,好像不是潇潇说得那个NB的外包部门,略有失望。好像还问了一个问题,不过忘了,估计也是一个弱智问题。我觉得还有一轮面试,就结束了。 出来继续和他们聊天。 大家都面完,回家。 ps:一个正方体,用两种颜色涂,有几种涂法? 我觉得是10种。 10月12日 怪癖游戏--点名帖点名帖连接:
没想到能再次点到我,不过现在没人看我的blog,这次就是一个叶子节点了。
5个乖僻有点难呀,想想看。
1、我问老婆,我有什么怪癖,老婆想都没想就说,睡觉流口水。还是我老婆呀。看看我可怜的枕头,真是难为它了。
再问,老婆就说不出来了。难道是隐藏的比较深?
2、基本只穿皮鞋。小时候重来不穿皮鞋,现在除了皮鞋,几乎没有别的鞋。可能是觉得旅游鞋太捂脚吧,也许还有别的我自己都说不上来的原因吧。
3、这个勉强算一个吧。以前,每次重要考试、重大事情前一天或当天早上都会拉肚子。不过现在也没考试了,也没什么大事了,基本上缓解了。
4、有时自己饿自己,就是不吃饭,感觉上就是象在清肠子。不是指那种在家懒得动弹不吃饭,而是一天早上起来,出去办事,忽然就不想吃,就一直饿着,直到晚上。还没试过一天不吃,不知道会不会睡不着觉,也许有机会要试一下。
5、通宵打游戏。随着年龄增加,已经不常见了。记得以前一周4、5天都是执行美国的作息时间。最近,10.1也差不多,把老婆气的够呛,还是魔兽RPG做的吸引人呀。
看了不是没有怪癖,而是挖掘不够深刻。不知道要是10个怪癖,会总结出什么,怕怕呀。 又回来了也许师弟不点名,我不会想起这个遗忘的角落
实际上是对怎么使用这个blog不懂,不了解,也没有太大兴趣。
而且觉得自己没有兴趣维护这个东西。呵呵
既然写了,还是写写今天东软菲利普面试的感受吧。
上午9点10分,恋恋不舍的离开了神六的现场直播。到了会场,人好多呀!不知道有多少是来锻炼自己为以后的面试积累经验呢,呵呵。昨天的笔试很多人(我们5人中有3个,按这样考虑应该不少吧,虽然我们这些人比较特殊)去锻炼一下吧。不过那个试题的确初级了一些,呵呵。
基本上我到了就开始了(难道在等我:),在一位负责人组织下,开始了宣讲会。竟然是一位外国朋友用E文宣讲。开始还能听懂,不过一溜号,完了,只能听明白一点点了。然后开始了中文的宣讲。不过,开场竟然大讲今年毕业生很多云云,就业压力云云,比较反感。再后来就是等待面试了。其中有个小插曲:由于有几个人被通知面试,不过简历又不在面试名单中,大家都怕白等很长时间,就公布了面试名单。先公布的是应聘硬件的人,其中有个和我同名,哈哈哈,同名无所不在,当然,这个我已经见惯了。不过投简历的人实在太多了,一上午面试不晚,我被分到下午面试,上午到12点,下午13点开始。也好,直接去吃饭。找Mr.蔡蔡借书后吃饭,饭后回去才刚刚12点,上午的面试还没结束,呵呵。见到大学的师兄复杂面试,打了个招呼。偷听到组织者谈话,硬件部分至少砍吊一般,激烈呀。不过下午面试的时候师兄正在面试其他人,可惜。面试就是问问在实验室做了什么,在这些项目中体会最深的是什么。竟然问我为什么没过六级,汗呀。
值得记的也就这些,晚上又收到电话,明天下午2点去东软电脑城C座4楼面试,呵呵。这个是昨天笔试的结果了,看来虽然打的不好,还算过关。看了东软和东软菲利普招人还是分开的,不然不会这样。
btw: 东软菲利普的英文名是philips and neusoft。呵呵 |
|
|