| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:C++中关于双向循环链表的问题?
只看楼主 加入收藏
chuandaobozi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-9
收藏
 问题点数:0 回复次数:0 
C++中关于双向循环链表的问题?
类定义如下:
class Node
{friend class CirDoubleNode<T>;
private:
Node<T>*left,*right;
T data;
};
template<class T>
class CirDoubleNode
{
public:
CirDoubleNode(void);
~CirDoubleNode(void);
bool IsEmpty(){return head==0;}
bool Find(int k,T&x)const;
int Length();//返回结点数目
CirDoubleNode<T>& Insert(int k,const T&x);
CirDoubleNode<T>& Delete(int k,T&x);
void Print()const;//正向输出
void ResPrint()const;//逆向输出
private:
Node<T>*head;//双向循环链表的头结点
};
template<class T>
CirDoubleNode<T>::CirDoubleNode()
{
head=0;
}
template<class T>
CirDoubleNode<T>::~CirDoubleNode()
{
Node<T>*next;
int index=0;
while(index<Length())
{
next=head->right ;
delete head;
head=next;
index++;
}
}
在析构函数中,删除结点好像出现问题,使用VS2010单步跟踪调试的过程中,在while循环中某次运行到while所在行的时候,会突然弹出黑框(也就是常见的那个cmd界面),我就纳闷了,我的析构函数里面有没有什么输入命令为什么弹出这个啊
搜索更多相关主题的帖子: class private public return friend 
2011-12-09 21:02
快速回复:C++中关于双向循环链表的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved