作者springgod (≡27149≡陈春神)
看板b95902HW
标题[作业] 使徒七
时间Sun Nov 19 10:13:46 2006
这是第三个地方了...Orz
---
为什麽没有人来问问题呢??@@"
还有 叫你们问助教问题 不是叫你们找助教debug
乾脆定个规矩不准找助教debug??????
ok 以上是题外话
---
来提供点线索好了
1.先把题目看懂
2.这题要用recursion去搜
3.看看哪个字串要放哪个位置
重点来了 要怎麽搜比较好做??
如果乱做 的话 势必会遇到一个问题 字串塞进去了拔不出来.....
所以我们要找一个塞进去 而且很好拔出来的方法
拔不出来的问题在哪 在於不知道要拔几个字出来 是吧
而这个问题出在塞进去的时候可能就是零零碎碎的
所以我们要避免这件事
方法就是
先把开头的数字小到大排序一下 这样 就不会零零碎碎的了(why?)
ok 所以我们这时候需要一个"塞进去"的function
叫他 push好了
长成 int IsPushOK(char* dst, int ofs, char* src);
// return 1 on ok 0 on forbidden
// dst for destination
// ofs for offset
// src for source
他做什麽事呢 看看能不能src能不能塞进去dst的第ofs个位置
如果可以的话 就叫push君 把src push进去
int Push(char* dst, int ofs, char* src) ;
// return offset of the position of the first be pushed charact in src
对 要把这个return值记好 因为要用来把src拔出来的时候要用到
一般来说 根据recursion的一般式
我们塞完东西後
这时候应该呼叫一下递回
然後再把东西拔出来
所以 该是把字串拔出来的时候了
void pop(char* dst, int ofs);
// remove all charact after ofs
写到这里 是不是就有点感觉了呢???
当然还要加上之前的recurion大绝招 还有一些细部的小东西才能完成
不过 剩下的就靠你们来完成吧 SBS我们下次见
--
╭╮ ○ ╭╮
╭─╯╰─╮ ╭─╮╭-╯╰-╮
╭─╭╮─╮ ╰╭╯│☆ ☆│
╭╯╭╮╰╮ ╭┤☆│☆ ☆│
★│╰╯│★ ♂│ ╰-╮╭-╯
╰──╯ ♀ ╰╯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.230.58
1F:推 sam9595:完全讲到我的问题所在了耶... 11/19 10:21
2F:推 timerover:吓我一跳 我以为是sam 11/19 12:45
3F:→ phoenixjah:啊咧 我完全没拔字串的动作可是也对了耶@@ 11/19 12:56
4F:推 springgod:我只是提供一种可能的解 11/19 19:54
5F:推 bob0423:SBS@@这次的主题是谁阿~ 11/19 21:49