,数据域为item,指针域为ptrNextvoidFreeNodeNodeTp释放节点
6
fvoidCopyListco
stLi
kedListTL将链表L拷贝到当前表(假设当前表为空)。被拷贝构造函数、operator调用publicLi
kedListvoid构造函数Li
kedListco
stLi
kedListTL拷贝构造函数Li
kedListvoid析构函数Li
kedListToperatorco
stLi
kedListTL重载赋值运算符i
tListSizevoidco
st返回链表中元素个数(size)
i
tListEmptyvoidco
stsize为0时返回TRUE否则返回FALSEvoidReseti
tpos0将指针currPtr移动到序号为pos的节点,prevPtr相应移动positio
记录当前节点的序号voidNextvoid使prevPtr和currPtr移动到下一个节点i
tE
dOfListvoidco
stcurrPtr等于NULL时返回TRUE否则返回FALSEi
tCurre
tPositio
voidco
st返回数据成员positio
voidI
sertFro
tco
stTitem在表头插入一个数据域为item的节点voidI
sertRearco
stTitem在表尾添加一个数据域为item的节点voidI
sertAtco
stTitem在当前节点之前插入一个数据域为item的节点voidI
sertAfterco
stTitem在当前节点之后插入一个数据域为item的节点TDeleteFro
tvoid删除头节点释放节点空间,更新prevPtr、currPtr和sizevoidDeleteAtvoid删除当前节点释放节点空间,更新prevPtr、currPtr和sizeTDatavoid返回对当前节点成员data的引用voidClearListvoid清空链表:释放所有节点的内存空间。
类实现部分略
templateclassTvoidMergeListLi
kedListTlaLi
kedListTlbLi
kedListTlc合并链表la和lb构成新链表lc。函数结束后,程序的数据所占内存空间总数不因此函数的运行而增加。
7
fwhilelaListEmptylbListEmptyiflaDatalbDatalcI
sertRearlaDatalaDeleteAtelsewhilelaListEmptylcI
sertRearlaDatalaDeleteAtwhilelbListEmptylcI
sertRearlbDatalbDeleteAti
tmai
Li
kedListi
tlalblci
titemi读如数据建立链表lafori0i10ici
itemlaI
sertRearitemlcI
sertRearlbDatalbDeleteAt
8
flaReset读如数据建立链表lbfori0i10ici
itemlbI
sertRearitemlbResetMergeListlalcResetlblc合并链表
输出各节点数据,直到链表尾whilelcE
dOfListcoutlcData