看板 C_and_CPP 關於我們 聯絡資訊
你有 8個數字, 要選 6個出來 首先,我們用 '+' '-' 兩個符號分別代表 選中與否 那麼這個問題就變成 "++++++--" 這個個排列數 這時,強大好用的 std::next_permutation 就派上用場啦! 簡單的實做 http://codepad.org/VAQp4Xm8 其中,char C[] = "12345678"; 代表你已經選出來的八個數字 XD 好 STL,不用嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.60.107.233 ※ 編輯: xatier 來自: 210.60.107.233 (05/23 10:13)
angleevil:c無法用 05/23 10:17
xatier:樓上XD 用STL就不必重新刻算法阿 05/23 10:20
bigpigbigpig:next_permutation 演算法並不難,用C刻一個小case啦 05/23 13:21
angleevil:其實我的意思很單純,c沒有stl,所以這無法用. 05/23 14:13
angleevil:但是我們生在google年代,很多強者早就實作出stl,因此去 05/23 14:15
angleevil:找吧,例如:http://pastie.org/1959648 05/23 14:15
angleevil:我也很愛用stl algorithm.可惜公司系統寫c.QQ 05/23 14:16
loveme00835:那份程式碼沒有註明 category...只能從文章找, 屬於 05/23 14:26
loveme00835:Bidirection Iterator 05/23 14:27
bigpigbigpig:好兄弟,我不是在虧你,請參考: 05/23 15:50
yauhh:本來問題是在想不想得出演算法,你出來講說有沒有函數,那就 05/23 19:28
yauhh:跳到另外一個問題領域了. 但是不懂怎麼做的問題仍沒解決. 05/23 19:28
loveme00835:@yauhh: 原原po只是問"如何寫成 程式?" 在我看來這篇 05/23 19:32
loveme00835:比較實際 05/23 19:33
loveme00835:我不是說自己刻演算法不好, 呼叫函式也成為一個共同語 05/23 19:47
loveme00835:言, 尤其這又是標準函式庫的函式, 已經有迎合需求東西 05/23 19:48
loveme00835:卻要強迫自己不能用, 只會徒增開發/維護時間而已 05/23 19:50
yauhh:ㄟ......原問題到底問什麼,最好問原po比較準喔 05/23 19:57
angleevil:其實xatier已經回答原po問題,我只是提出c沒有而已 05/23 21:14
loveme00835:我不是說樓上 Orz 05/23 21:15
angleevil:= =我是跟yauhh解釋一下 05/23 21:17
firejox:是蠻精簡的 但沒有較快就是了... 05/23 22:03