数据结构学习(C++)——双向链表[5]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 happycock 的 blog

};

 

#endif

【说明】只完成了最重要的insertremove函数和最具特点的prior()函数,其他的没有重新实现。所以,你在这里使用单链表的其他方法,我不保证一定正确。并且,这里的指针类型转换依赖于编译器实现,我也不能肯定其他的编译器编译出来也能正确。对于让不让prior返回头节点的data,我考虑再三,反正用first();get();这样的组合也能返回,所以就不在乎他了,所以要是用prior遍历直到返回null,就会将头节点的data输出来了。

【补充】至于双向循环链表,也可以从这个双向链表派生(仿照派生循环链表的方法);或者从循环链表派生(仿照派生双向链表的方法),就不一一举例了(再这样下去,我就真闹心的要吐血了)。至此,可以得出一个结论,链表的各种结构都是能从单链表派生出来的。换句话说,单链表是根本所在,如果研究透了单链表,各种链式结构都不难。

一小段测试程序

void dbllisttest_int()

{

       dbllist<int> a;

       for (int i = 10; i > 1; i--) a.insert(i);

       for (i = 10; i > 1; i--) cout << *a.next() << " ";

       a.first();

       cout << endl;

       cout << *a.next() << endl;

本文关键:数据结构 C++ 双向链表
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top