标题: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357407-1-1.html




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

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