首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

线形链表的定义,该怎么处理

2012-02-17 
线形链表的定义class item{int dataitem *nextpublic:item *headint initlist()int creatlist(int n)

线形链表的定义
class item
{
int data;
item *next;

public:
item *head;
int initlist();  
int creatlist(int n);
int length();
int insertlist(int n);
void printlist();
};

int item::initlist ()
{
head=NULL;

return 1;
}

int item::creatlist(int n)
{
item *p,*r,*s;
p=new item;
p->next =NULL;
r=p;
for(int i=1;i<=n;i++)
{
s=new item;
cout<<"iuput the data:";
cin>>s->data ;
r->next =s;
  r=s;

}
r->next=NULL;
head=p; //为什么这里要把P付值给head
return 1;

}
就是在creatlist函数里面的意思不太明白 希望有高手能一步一步说明 谢谢

[解决办法]
在creatlist中p指向表头结点,r始终最后一个结点。
读入n个结点数据,依次插入到r指向结点之后,r移动到最后一个结点,依次循环。

热点排行