读书人

※数据结构※→☆线性表构造(list)☆

发布时间: 2013-10-08 16:38:32 作者: rapoo

※数据结构※→☆线性表结构(list)☆============双向链表结构(list double)(三)

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。


※数据结构※→☆线性表构造(list)☆============双向链表结构(list double)(三)



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以后的笔记潇汀会尽量详细讲解一些相关知识的,希望大家继续关注我的博客。
本节笔记到这里就结束了。




潇汀一有时间就会把自己的学习心得,觉得比较好的知识点写出来和大家一起分享。
编程开发的路很长很长,非常希望能和大家一起交流,共同学习,共同进步。
如果文章中有什么疏漏的地方,也请大家指正。也希望大家可以多留言来和我探讨编程相关的问题。
最后,谢谢你们一直的支持~~~




C++完整个代码示例(代码在VS2005下测试可运行)

※数据结构※→☆线性表构造(list)☆============双向链表结构(list double)(三)


AL_ListDouble.h

#ifdef TEST_AL_LISTDOUBLEAL_ListDouble<DWORD> cListDouble;BOOL bEmpty = cListDouble.IsEmpty();std::cout<<bEmpty<<std::endl;int array[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};for(int i=0;i<15;i++)cListDouble.Insert(cListDouble.Length(), array[i]);bEmpty = cListDouble.IsEmpty();std::cout<<bEmpty<<std::endl;//test the interfaceDWORD dwListSeqLen = cListDouble.Length();std::cout<<dwListSeqLen<<std::endl;DWORD dwFind = cListDouble.Find(16);std::cout<<dwFind<<std::endl;dwFind = cListDouble.Find(12);std::cout<<dwFind<<std::endl;BOOL bElement = cListDouble.IsElement(16);std::cout<<bElement<<std::endl;bElement = cListDouble.IsElement(14);std::cout<<bElement<<std::endl;BOOL bInsert = cListDouble.Insert(0, 0);std::cout<<bInsert<<std::endl;bInsert = cListDouble.Insert(16, 16);std::cout<<bInsert<<std::endl;bInsert = cListDouble.Insert(16, 999);std::cout<<bInsert<<std::endl;BOOL bRemove = cListDouble.Remove(9846354);std::cout<<bRemove<<std::endl;bRemove = cListDouble.Remove(999);std::cout<<bRemove<<std::endl;bRemove = cListDouble.Remove(10);std::cout<<bRemove<<std::endl;INT it = 0x00;for (DWORD i=0; i<cListDouble.Length(); i++) {it = cListDouble.Get(i);std::cout<<it<<std::endl;}DWORD dwSet = cListDouble.Set(16, 999);std::cout<<dwSet<<std::endl;dwSet = cListDouble.Set(0, 888);std::cout<<dwSet<<std::endl;dwSet = cListDouble.Set(11, 777);std::cout<<dwSet<<std::endl;for (DWORD i=0; i<cListDouble.Length(); i++) {it = cListDouble.Get(i);std::cout<<it<<std::endl;}cListDouble.Clear();bEmpty = cListDouble.IsEmpty();std::cout<<bEmpty<<std::endl;dwListSeqLen = cListDouble.Length();std::cout<<dwListSeqLen<<std::endl;bInsert = cListDouble.Insert(1, 999);std::cout<<bInsert<<std::endl;bInsert = cListDouble.Insert(0, 666);std::cout<<bInsert<<std::endl;bRemove = cListDouble.Remove(666);std::cout<<bRemove<<std::endl;bEmpty = cListDouble.IsEmpty();std::cout<<bEmpty<<std::endl;dwListSeqLen = cListDouble.Length();std::cout<<dwListSeqLen<<std::endl;#endif


读书人网 >编程

热点推荐