C++语言编程 问题 急求 谢谢
发布网友
发布时间:2022-04-20 09:06
我来回答
共3个回答
热心网友
时间:2023-06-27 07:05
你编译后可以看到下面有错误行提示的
热心网友
时间:2023-06-27 07:06
乍一看,就是头文件错误嘛!
#include<iostream.h> 你的缺少.h嘛
热心网友
时间:2023-06-27 07:06
#include<iostream>
using namespace std;
class node
{
public:
int data;
node *next;
node()
{
next=NULL;
}
node(int data1,node *next1)
{
data=data1;
next=next1;
}
};
class simplelinklist
{
private:
node *head;
node *cur;
public:
simplelinklist()
{
head=cur=NULL;
}
void creat()
{
int n;
cout<<"请输入数据总量大小:";
cin>>n;
int shu;
for(int position=1;position<=n;position++)
{
node *parent;
cout<<"请输入数据:";
cin>>shu;
cur=new node(shu,NULL);
if (head==NULL)
{
head=cur;
parent=cur;
parent->next=NULL;
cur=head->next;
}
else
{
parent->next=cur;
parent=cur;
}
}
}
void setpos(int n)
{
cur=head;
for(int position=1;position<n-1;position++)
{
cur=cur->next;
}
}
int length()
{
int count=0;
for(node *temp=head;temp!=NULL;temp=temp->next)
{
count++;
}
return count;
}
bool empty()
{
return head==NULL;
}
void display()
{
cout<<"您输入的数依次为:"<<endl;
for(node *temp=head;temp!=NULL;temp=temp->next )
{
cout<<temp->data<<' ';
}
cout<<endl;
}
void insert()
{
int pos;
cout<<"请输入插入位置"<< "注:不超过" <<this->length()<<":";
cin>>pos;
if (pos<=this->length())
{
setpos(pos);
int shu;
cout<<"请插入数:";
cin>>shu;
node *temp=cur;
node *newptr=new node(shu,temp->next );
temp->next =newptr;
}
else
{
cout<<"抱歉,你输入的位置已经超出原始长度"<<endl;
}
}
};
void main()
{
simplelinklist t;
t.creat();
t.display();
cout<<"\n当下数据长度为:";
cout<<t.length()<<endl;
t.insert();
t.display();
cout<<"当下数据长度为:";
cout<<t.length();
cout<<endl;
}