作者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