2010-06-28 47 views
2

如何實現一個可以接受任意數量的混合索引(整數,字符串或兩者)的動態關聯數組?具有混合(數字和字符串)索引的關聯數組?

我的目標是通過提供people[3].location作爲語法糖爲people[3, "location"]來模擬結構。你會如何推薦在內部表示這種陣列?

順便說一句,我使用C,出於便攜性的原因,我只能使用標準庫。

感謝您的建議!

編輯:只是爲了澄清,我問一個如何實現混合索引的動態關聯數組爲用C寫的有問題的解釋實際上是一個Yabasic編程語言解釋,但不是特別相關。

編輯:更改爲使用[]作爲數組語法而不是()

回答

0

使用二叉樹,如紅黑樹或AVL樹。維基百科對它們都有一些確定的信息。

編輯:你不能重載標[]運營商C.

+0

只是爲了澄清,我問一個如何實現混合索引的動態關聯數組的*編程語言解釋* C寫的 – 2010-06-28 06:48:26

1

看一看到開源項目提供這樣的功能,並且是用C寫走進心靈的Perl和Emacs,這兩個擁有強大的關聯數組。在perl中,它們是它們的哈希實現,而在emacs中則是它們的符號處理。也許你可以從那裏得到一些啓發。

+0

我想也是一樣,除了我的第一個想法是'awk'。 – JXG 2011-05-03 07:23:31

相關問題