中间取数只能用指针+索引的方法
不过只能取,不能删,除非你手工维护表,可以写个程序,取数后将后面的项前移,然后将表长减1,相当于给表增加一条指令
算法很简单,复杂度是线性的,为O(n),但总的来说这样效率比较低,如果表很大,且取的数在前面,移动操作很耗时的。
我怀疑 FIFO 指令用的也是该算法,因为表结构中没有表头表尾的指针,不可能通过循环表来实现高效取数,这个可以验证一下(时间关系,偶没做,你可以试试):每执行一次 FIFO,就观察表内的数据变化,看其位置是否变化
最后修改:2005-6-8 10:40:25