登陆入口
$show_login$
欢迎各位看倌踊跃添加此类精选、经典音乐。凡正式收录的,论功行赏!:)
PSing...(你敢指我看看!?)
最新BLog
最新回复
留言板
此留言为悄悄话
谢谢版主的资料阿,再次感谢!danke!!

刚看到你长滴,还篇滴评论,我着实被震了一大惊。。无以名状中。。。虽然我们同病相怜,但还是很不好意思我那发泄之语好象勾起了你一些伤心的回忆。过去的就让它过去吧,破镜终无法重圆,这是你说的,打碎了的玻璃无法粘合恢复原样,这是我说的。LET US向前哈,转移生活重心!心情不好的时候可能还会想起这些,那我们尽量减少心情不好的频率就行了,加油!谢谢你的支持和鼓励。。。

你忘了给政治博客加密码啦~~呵呵,下次不要忘了哦

以下为blog主人的回复:

 嗯嗯,我知道了,密码是我们的网站的名称(英文的)~~

 不过我确实不觉得这是一篇敏感的文章,但是为了xdnice,我还是加上密码吧。(smart boys and girls can read this article with password, hoho)

挖哈哈,终于找到PP字体包了~来嘴一个~

发现某Ghost最近js用滴很溜~~

赶紧给教教俺啊~~

那个个性签名的不错~

右键菜单也不错~

就是总有错误= =

阿阿阿阿阿,我一点都不会阿~~~

 

以下为blog主人的回复:

 我是坚持着上来回复滴。关于那些Js Vbs我会专门写一篇文章的,不用急滴~~~~

再次受不了你的感谢方式了,我要

恩……那个……有次你给的那个一大堆好看英文字体的包找不到鸟.....

再给贴一个吧~~

以下为blog主人的回复:

 OK

No pb

你能看到我在这里写的回复么?看到了就吱一声啊~~~不了解这个留言系统是怎么运转滴........

-------必杀滴分隔线-----------

我更新了原来那篇文章的下载地址,可以下载了。

点这里!!!!!

BLog统计
  • 人气指数:52053点
  • 日志数:98篇
  • 日志评论293条
  • 主页留言:6条
友情连接
 
      
 
 
  通用双向链表模板类

 

链表是一种十分常用的数据结构,就我个人的实际工作经验而言,经常为了存储不同的数据而总要重写相关的代码,浪费了许多的时间。虽然MFC、STL均有解决方案,但它们都有体积大,结构复杂,不便移植的缺点,最要命的是它们对其它的库有一些依赖性,在某些情况下,不得不放弃对它们的使用。最近终于有了点时间,下决心争取一劳永逸地解决这个问题。于是这个CCommonList模板类就诞生了。

总的思路是借鉴了STL的“容器+迭代器”的结构,再加上引入模板特性,使之真正成为一个通用的链表处理类。

使用方法:

 

1、声明链表对象

a) CCommonList<int> IntList;//用于存放整数的链表

b) CCommonList<SYSTEMTIME> TimeList;//用于存放时间结构体的链表

c) CCommonList<MyStruct*> MyStructPtrList;//指针对象的链表

 

2、添加新节点

a) IntList.AddHead(10);

b) SYSTEMTIME tm;

GetSystemTime(&tm);

TimeList.AddTail(tm);

c) MyStruct Obj;

MyStruct *pObj=&Obj;

MyStructPtrList.AddTail(pObj);

 

3、遍历链表

首先要声明一个迭代器:

CCommonList<int>::Iterator it1(IntList);

CCommonList<SYSTEMTIME>::Iterator it2(TimeList);

CCommonList<MyStruct*>::Iterator it3(MyStructPtrList);

接下来使用迭代器的“++”“--”运算符,或GetNextGetPrev函数来遍历整个链表。使用IsEnd方法来判断是否遍历完毕。

对迭代器使用“*”运算符来获取存储于链表中的数据,得到的结果是当前数据的引用。

 

例:

it2.ToBegin();//从首节点开始

while(!it2.IsEnd())//判断是否结束

{

 SYSTEMTIME &tm=*it2++;//取得数据的引用后,指向下一个节点

 printf("%d",tm.wYear);

 tm.wMonth=10;//因为是数据的引用,所以可以直接修改它的值

}

需要注意的是:所有的数据都是完全复制了一份到链表中,所以原来的数据均无需保存。对于自定义的结构体,如有特殊需求,请重载“=”运算符以实现预期功能(因为复制数据时,只是简单地使用了“=”运算符)。

另外,也可以从Iterator类派生出一个子类以丰富和完善迭代器的功能,实现更加强大和专业化的功能。

 

完整源代码地址:查看代码

 

欢迎大家试用 :)

 
      【 撰写时间: 2006/9/12 0:13:00 By GhostEx 】
 
   
最新评论
发表评论
昵称:
密码:
标题:

 请将您看到图片上的字符输入左边表单中


 
© COPYRIGHT 2005 ALL RIGHTS RESERVED 雨下桐梧