C++创建链表问题

2024-11-20 19:36:14
推荐回答(2个)
回答1:

用你自己的代码改造而成:

#include 
#include 
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{
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<<"空链表!"< return;
}
else while(current!=NULL)
{cout<data<<" ";
current=current->next;
}
cout<}
//程序实现
void main()
{
int n;
cout<<"请输入您要输入的链表长度"< cin>>n;
list l1,l2(n);
l1.outputlist();

l2.outputlist();
}

回答2:

#include
#include
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<data< list = list->next;
}
}
你自己测试下 我只是手敲的 没有注意是否有BUG