急啊,大家帮我写一段C++单链表的代码啊,谢谢啊

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:03:31
下午就要交作业到现在还不会,。大家快帮我写一下啊,。先给50分,。我会加上去的啊,。紧急啊!!要C++代码,。大家帮帮忙啊,。搞不定我就要挂科啦

4) 生成一个单链表,表头指针为h,节点的KEY分别为1到N,N为用户任意输入的一个整数。
NODE *h;
struct NODE {
int KEY;
NODE * next;
}
补充一下,。运行环境是VC6.0啊

#include"iostream.h"
struct Node
{
int Data;
Node*next;
};
class list
{
Node*head;
public:
list(){head=NULL;}
void insertlist(int bData);
void outputlist();
Node*gethead(){return head;} //不明白
};

void list::insertlist(int bData) //设aData是结点a中的数据,bData是结点b中的数据
{
Node*p,*s; //p指向结点a,q指向结点a_k,s指向结点b
s=(Node*)new(Node); //动态分配一个新结点
s->Data=bData; //设b为此结点
p=head;
if(head==NULL) //若是空表,使b作为第一个结点
{
head=s;
s->next=NULL;
}
else
{
while(1)//你以前的是始终将数据放到了第二个链上了。应该是每次都去寻找,//当下一个为空的时候再将数据挂上。
{
if(p->next!=NULL)
p=p->next;
else break;
}
p->next=s;
s->next=NULL;
}
}
void list::outputlist()
{
Node*current=head;
while(current!=NULL)
{
cout<<current->Data<<" ";
current=current->n