W
wq_quake
Unregistered / Unconfirmed
GUEST, unregistred user!
最近需要用到3层以上的TList原来准备还用原来写好的链表后来想还是用TList吧方便,不过以前的经验TList并不是很优化,速度慢关键就是Delete 和Remove。问题很显然就在链表的重组上。以前有几位大侠写了继承的TList效率非常高。但是毕竟不是很方便。我想了一个很方便的方法能够提高速度,希望对大家能有所帮助。
Delete最末一条记录的速度应该是最快的因为不用链表重组,直接删除就行了。所以我想到的就是delete(n)那么就将n和最末条内容想换(其实就是指针重新赋值)再删除最后一条。速度将大大提高。关于Remove也是同样先indexof之后再调换顺序。
Indexof尽管也会有些慢但在百万条内速度还是很快的。
Delete最末一条记录的速度应该是最快的因为不用链表重组,直接删除就行了。所以我想到的就是delete(n)那么就将n和最末条内容想换(其实就是指针重新赋值)再删除最后一条。速度将大大提高。关于Remove也是同样先indexof之后再调换顺序。
Indexof尽管也会有些慢但在百万条内速度还是很快的。