我執行在C的邏輯塊即是這樣的(傳譯員):「編譯時哈希表」用C
if <input string> in <list of pre-defined constant strings>
do_a_predefined_action()
else
do_something_else(<input string>)
我首先想到的是一個哈希表,但如果不變字符串在編譯時是已知的,在運行時必須手動初始化散列表似乎有點浪費。
其他想法我已經包括靜態初始化已知散列(ick ...)的散列表結構,然後像正常一樣簡單地使用它。另一個是嵌套的switch
塊,它將提供O(log n)
查找時間(不像散列表一樣快)。
實現查找預定義字符串集合的最佳方式是什麼?我還沒有看到什麼解決方案?優雅會比速度更受歡迎。
我只是在啓動時建立哈希表並完成它。之後,如果您認爲啓動時間因此無法接受,那麼您可以編寫某種預處理器來預先構建哈希表以供列入。 –
@ 500-InternalServerError:如果沒有更好的路線,這就是我打算去的路。我對我的代碼非常強迫,而且啓動事情似乎很難看。感謝您的輸入。 :-) –