第401章 提前交卷的降维打击 (第3/3页)
辰膝盖上:
“快快快,下午C语言最后那道链表反转的压轴编程题,你到底是怎么写的?”
“我设了两个指针来回倒腾,倒腾到最后把头节点给弄丢了,在考场上急得我抓掉了一把头发!”
陆文博跟在后头走过来,拧开矿泉水灌了一大口,抹了抹嘴:
“我也卡那儿了,周教授这题出得太损了,还不让用额外数组空间,必须在原链表上直接改指向。”
陈志强背着书包从台阶上走下来,凑到花坛边看了一眼孙浩宇的草稿纸:
“两个指针不够用,你把前驱节点断开了,后面的地址不就全找不着了吗?”
叶辰把手机揣回兜里,接过孙浩宇手里的水笔,将那张皱巴巴的草稿纸在石沿上铺平。
“志强说得对,两个指针肯定会断链,你得定义三个指针,前驱、当前、还有后继。”
笔尖在纸面上飞快地画了三个长方形方框,代表三个链表节点,中间用带箭头的实线连起来:
“你看,每次循环开始的时候,先拿第三个指针把当前节点的下一个位置存起来,这就叫留后路;存好了之后,再把当前节点的箭头掉个头,指向上一个节点。”
叶辰在第二个方框底下画了一条反向的虚线箭头,又在纸角写了一行不到十个字符的判空语句:
“三个指针同步往后挪一位,直到当前指针撞上空地址循环结束,头尾一换,十行代码就搞定了,哪用得着你这大半页的嵌套循环?”
孙浩宇探着脑袋盯了那三个方框五秒钟,猛地抬手在自己脑门上拍了一巴掌:
“哎呀我操!我把循环退出条件写成下一个节点为空了,怪不得最后那个尾巴怎么都挂不上去,白白漏了一个边界条件!”
“这题二十分呢,扣掉边界分还能不能给我留十分啊,我的全勤奖助学金虽然没戏,可我也不能挂科重修啊!”
陆文博探头看了一眼那行简短的判空条件,摇着头叹了口气:
“老孙你就知足吧,周教授改卷子按步骤给分,你框架对了起码能拿十二分,我连第三个临时指针都没想起来设,直接硬着头皮写了个死循环上去!”
叶辰把水笔还给孙浩宇,站起身拍了拍裤腿上的灰:
“行了,考完的卷子就别惦记了,早上那门高数我给你俩划的那三道题全考了原题变形,拉格朗日那道十二分的大题,你俩总不能还做错吧?”
孙浩宇一听这话,刚才那股懊恼劲儿立马散了一半,把草稿纸揉成团塞进兜里,咧开嘴笑了起来:
“那肯定不能错啊!我连设辅助函数的字母都跟你昨晚在草稿纸上写的一模一样,连个标点符号都没改!”
“走走走,考完试一身轻,今晚去二餐加两个鸡腿,老陆请客!”
“凭什么又是我请客,刚才在考场上谁说只要能写完就请全寝室喝奶茶的?”
陆文博笑骂着伸手去勒孙浩宇的脖子,两人闹哄哄地顺着林荫道往食堂方向跑去。
陈志强看了眼手腕上的电子表,冲叶辰点了点头:
“老叶,周五傍晚单子多,我先去后街跑两个小时晚高峰,你们先吃,不用等我。”
“去吧,骑车慢点,晚上降温了记得加件衣服。”