在VC++中正常运行,为什么在openjudge中出现runtime error 求大神解答
#include<iostream>usingnamespacestd;template<classT>structnode{Tdata;node<T>*llink,*r...
#include<iostream>
using namespace std;
template<class T>
struct node
{
T data;
node<T> *llink,*rlink;
};
template<class T>
class DoubleLink
{
public:
DoubleLink();
void Insert();
void Delete();
void PrintLink();
private:
node<T> *first;
};
template<class T>
DoubleLink<T>::DoubleLink()
{
int x,t;
node<T> *s,*r,*p,*q;
first=new node<T>;
first->llink=NULL;
first->rlink=NULL;
r=first;
while(cin>>x&&x!=0)
{
s=new node<T>;
s->data=x;
r->rlink=s;
s->llink=r;
r=s;
}
r->rlink=NULL;
for(p=first;p->rlink!=NULL;p=p->rlink)
for(q=p->rlink;q!=NULL;q=q->rlink)
{
if(p->data>q->data)
{
t=p->data;
p->data=q->data;
q->data=t;
}
}
PrintLink();
}
template<class T>
void DoubleLink<T>::PrintLink()
{
node<T> *p;
p=first->rlink;
while(p)
{
cout<<p->data<<" ";
p=p->rlink;
}
cout<<endl;
}
template<class T>
void DoubleLink<T>::Insert()
{
int x;
node<T> *p,*r,*s;
while(cin>>x&&x!=0)
{
p=first->rlink;
r=first;
s=new node<T>;
s->data=x;
while(p&&x>p->data)
{
r=p;
p=p->rlink;
}
s->rlink=r->rlink;
s->llink=r;
r->rlink=s;
if(s->rlink)
s->rlink->llink=s;
}
PrintLink();
}
template<class T>
void DoubleLink<T>::Delete()
{
int x;
node<T> *p,*r,*s,*q;
while(cin>>x&&x!=0)
{
for(q=first;q!=NULL;q=q->rlink)
{
r=first;
p=r->rlink;
while(p)
{
while(p->data==x)
{
s=p;
p=p->rlink;
r->rlink=p;
p->llink=r;
delete s;
}
r=p;
p=p->rlink;
}
}
}
PrintLink();
}
int main()
{
DoubleLink<int> l1;
l1.Insert();
l1.Delete();
return 0;
} 展开
using namespace std;
template<class T>
struct node
{
T data;
node<T> *llink,*rlink;
};
template<class T>
class DoubleLink
{
public:
DoubleLink();
void Insert();
void Delete();
void PrintLink();
private:
node<T> *first;
};
template<class T>
DoubleLink<T>::DoubleLink()
{
int x,t;
node<T> *s,*r,*p,*q;
first=new node<T>;
first->llink=NULL;
first->rlink=NULL;
r=first;
while(cin>>x&&x!=0)
{
s=new node<T>;
s->data=x;
r->rlink=s;
s->llink=r;
r=s;
}
r->rlink=NULL;
for(p=first;p->rlink!=NULL;p=p->rlink)
for(q=p->rlink;q!=NULL;q=q->rlink)
{
if(p->data>q->data)
{
t=p->data;
p->data=q->data;
q->data=t;
}
}
PrintLink();
}
template<class T>
void DoubleLink<T>::PrintLink()
{
node<T> *p;
p=first->rlink;
while(p)
{
cout<<p->data<<" ";
p=p->rlink;
}
cout<<endl;
}
template<class T>
void DoubleLink<T>::Insert()
{
int x;
node<T> *p,*r,*s;
while(cin>>x&&x!=0)
{
p=first->rlink;
r=first;
s=new node<T>;
s->data=x;
while(p&&x>p->data)
{
r=p;
p=p->rlink;
}
s->rlink=r->rlink;
s->llink=r;
r->rlink=s;
if(s->rlink)
s->rlink->llink=s;
}
PrintLink();
}
template<class T>
void DoubleLink<T>::Delete()
{
int x;
node<T> *p,*r,*s,*q;
while(cin>>x&&x!=0)
{
for(q=first;q!=NULL;q=q->rlink)
{
r=first;
p=r->rlink;
while(p)
{
while(p->data==x)
{
s=p;
p=p->rlink;
r->rlink=p;
p->llink=r;
delete s;
}
r=p;
p=p->rlink;
}
}
}
PrintLink();
}
int main()
{
DoubleLink<int> l1;
l1.Insert();
l1.Delete();
return 0;
} 展开
1个回答
2015-04-05
展开全部
1.打开任务管理器,关闭两个关于matlab的进程,matlabserver和……(具体名字忘记了)
之后你就可以正常使用matlab拉!
2.但是每次开机都要去结束这两个经常很麻烦,所以可以这样做:
在“管理工具”->“服务”里,找到“MATLAB Server”这项,把它的启动方式改成“手动”,就OK了!
这个问题也弄了我很久,baidu和google都没解决,最后还是自己意外发现两个进程很占内存,就怀疑上它们了,然后就顺藤摸瓜搞定拉!
之后你就可以正常使用matlab拉!
2.但是每次开机都要去结束这两个经常很麻烦,所以可以这样做:
在“管理工具”->“服务”里,找到“MATLAB Server”这项,把它的启动方式改成“手动”,就OK了!
这个问题也弄了我很久,baidu和google都没解决,最后还是自己意外发现两个进程很占内存,就怀疑上它们了,然后就顺藤摸瓜搞定拉!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询