主题:高手帮我看看这程序错在哪里,运行时显示访问地址冲突
自己编了一个简单的链表,编译没有错误,但是运行时提示访问地址冲突。 但自己检查不出哪里错了。
#include<iostream>
using namespace std;
class lizi
{
public:
lizi():its(0),next(NULL),first(true){} //定义未有任何数据时的链表
lizi(int a):its(a),next(NULL),first(false){} //定义链表时赋予数据
~lizi(){}
void increace(int x)// 数据插入函数
{
if(first==true) //判断链表是否已有数据
{
its=x;
next=NULL;
first=false;
}
else //已有有数据的话从末端插入数据
{
//head=NULL;
lizi *ptr2;
ptr2=next;
if(ptr2!=NULL)//判断链表是否只有一个数据
{
for(int i=1;i==1;)
{
if(ptr2->next==NULL)
break;
else
ptr2=ptr2->next;
}
ptr2->next=new(lizi);
ptr2=ptr2->next;
ptr2->its=x;
ptr2->next=NULL;
}
else
{
next=new(lizi);
ptr2->its=x;
ptr2->next=NULL;
}
first=false;
}
}
//
void pirn() //链表输出函数
{
cout<<its<<" ";
lizi * ptr1;
ptr1=this;
//cout<<ptr1->its<<" ";
for(int i=1;i==1; )
{
if (ptr1->next==NULL)
break;
else
{
ptr1=ptr1->next;
cout<<ptr1->its<<" ";
}
system("pause");
}
}
private:
int its;
lizi *next;
bool first;
};
int main()
{
lizi sp(3);
sp.increace(4);
sp.increace(5);
sp.increace(7);
sp.increace(8);
sp.increace(9);
sp.increace(10);
sp.increace(11);
sp.increace(12);
sp.increace(13);
sp.pirn();
cout<<endl;
system("pause");
return 0;
}