系统程序员成长计划-Write once, run anywhere(WORA)(下)

About... 李先静

This author published 367 posts in this site.

Share

FacebookTwitterEmailWindows LiveTechnoratiDeliciousDiggStumbleponMyspaceLikedin

Comments


yetiboy
November 11th, 2008

在笔记本上看,字体太大!(firefox字体大小默认+允许网页选择自己的字体风格)

越来越像我们离散作业习题了 >_<
这样的void*结构致使有些对链表的操作需要额外的回调函数,似乎有点不那么通用了。感觉还是linux内核中实现的generic链表结构通用,针对性也非常的强。 但是又没有怎么见到在内核之外用过(当然由我自己孤陋寡闻的原因)。


admin
November 11th, 2008

呵,字体还是改为14pt吧。

你的意见很好。linux kernel中的双向链表确实有些创意,它一反常态以容器为主,数据结构要为容器服务,在特定的应用环境中有一定的通用性。但它的问题在于假设数据结构一定要存放于容器中,而且被定死要存放到双向链表中,这在正常情况是不能被接受的,我想这就是它很难推广的原因。


meierduo
November 26th, 2008

博主,我是菜鸟级的,也没有做过实际应用。想问个问题,对于如上的通用链表,如果打印的时候要回调函数。那么是否,链表元素输入的时候也要调用回调函数,因为我们预先也不知道输入元素的数据类型?


admin
November 26th, 2008

to meierduo: 链表的实现者不知道里面存的什么类型,使用者当然是知道的,否则这个链表还有什么用。

[...] 1.2 谁动了你的隐私(上)(下) 1.3 Write once, run anywhere(WORA)(上)(下) 1.4 拥抱变化(上)(下) 1.5 Don’t Repeat Yourself(DRY) (上)(下) 1.6 [...]


luqi
August 24th, 2009

关于通用链表的问题,intel有提供’bothway linked list utility’,很好用的.一直在看lz的文章,很有启发,感谢了

struct XLinkedListNode
{
void *Data;
struct XLinkedListNode_Root *Root;
struct XLinkedListNode *Next;
struct XLinkedListNode *Previous;
};

Leave a comment