PTT評價

Re: [問卦] 程式能寫if 就不要用for loop?

看板Gossiping標題Re: [問卦] 程式能寫if 就不要用for loop?作者
orze04
(orz)
時間推噓 1 推:1 噓:0 →:4

※ 引述《cosmite (焼き団子)》之銘言:
: 標題: [問卦] 程式能寫if 就不要用for loop?
: 時間: Thu Jun 16 16:12:30 2022
:
: 以前寫程式覺得要看起來厲害
: 明明能用if的
: 我會先建一個table 然後再用for loop尋找
: 好處是數量增加時增加的程式碼少
: 壞處是寫的時候和以後回來看的時候比較麻煩
: (有時候還會寫到雙層或三層for loop)
: 在網路上看一些code 其實也就if寫一寫而已
: 方便快速 維護容易 不需要想這在幹嘛
: 即時是自己寫的code 記憶力再好還是會有忘記的一天
: 程式能寫if 就不要用for loop?

: --
: 建一個structure 用for loop掃描structure的index

: IF寫法:
: if (a == 10) return;
: if (a == 20) return;
: ---------------------------------------
: FOR LOOP寫法:
: u8 index;
: u8 array[] = {
: 10,
: 20
: };
: for (index = 0; index < sizeof (array) / sizeof (array[0]); index++) {
: if (a == array[index]) {
: return;
: }
: }
:

你這兩個方法(if、for-loop)和 switch-case 根本一樣。

最差情況都是要 traversal 所有元素

如果只求簡單粗暴的話,switch-case 不是更好 ^_^





現在是只有 10 和 20 兩種

如果未來好幾種情況 30、40、50....、1000...

那還是建一個 hashtable 吧 CC

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.39.42 (臺灣)
PTT 網址

kuninaka 06/16 20:35

friends29 06/16 20:38有些語言switch還是幫你編譯成if

orze04 06/16 20:48switch有些會編譯成hash,有些是if

link4517 06/16 20:50我建議 a=1 b=2 c=a+b, 萬用

xylinum 06/16 20:52忘記了