C++创建链表问题
2个回答
展开全部
用你自己的代码改造而成:
#include <iostream.h>
#include <iomanip.h>
struct node
{
int data;
node *next;
};
class list
{
private:
node*head;
int n;
public:
list();//构造函数,建立空链表
list(int number) ;//构造函数,建立长度为number的链表
void outputlist();//链表的输出
};
// 构造函数,建立空链表
list::list()
{head=NULL;
return;}
//构造函数,建立长度为number的链表
list::list(int number)
{int n,i;
node *p1,*p2;
n=number;
head = new node;
head->next = NULL;
head->data = 1;
p1=p2=head;
for(i=1;i<n;i++)
{
p1 = new node;
p1->data=i+1;
p1->next = NULL;
p2->next=p1;
p2=p1;}
//p1->next=head;
}
//链表的输出
void list :: outputlist()
{
node*current;
current=head;
if(current==NULL)
{
cout<<"空链表!"<<endl;
return;
}
else while(current!=NULL)
{cout<<setw(8)<<current->data<<" ";
current=current->next;
}
cout<<endl;
}
//程序实现
void main()
{
int n;
cout<<"请输入您要输入的链表长度"<<endl;
cin>>n;
list l1,l2(n);
l1.outputlist();
l2.outputlist();
}
展开全部
#include <iostream.h>
#include <iomanip.h>
struct node
{
int data;
node *next;
};
void main()
{
node*List;
node*head;
list =new node;
list->next = NULL;
head = list;
//生成链表
for(int i =0;i<100;i++)
{
head->data =i;
node * Next =new node;
head->next = Next;
if(i != 99)
head = head->next;
else
head->next =NULL;
}
head = list;
for(list;list!=NULL;)
{
cout<<list->data<<endl;
list = list->next;
}
}
你自己测试下 我只是手敲的 没有注意是否有BUG
#include <iomanip.h>
struct node
{
int data;
node *next;
};
void main()
{
node*List;
node*head;
list =new node;
list->next = NULL;
head = list;
//生成链表
for(int i =0;i<100;i++)
{
head->data =i;
node * Next =new node;
head->next = Next;
if(i != 99)
head = head->next;
else
head->next =NULL;
}
head = list;
for(list;list!=NULL;)
{
cout<<list->data<<endl;
list = list->next;
}
}
你自己测试下 我只是手敲的 没有注意是否有BUG
追问
非常感谢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询