主题:有关头指针的问题,大家帮忙啊
刚学数据结构,有个问题不明白。
我在使用后插法的时候,对整个链表遍历了一遍,并成功的付了值,但我找不到头指针,没法把整个链表输出了。
#include<iostream>
using namespace std;
struct node
{
int a;
node *next;
};
void initlist(node *&l)这里初始化了头节点,是不是就声明了头指针了呢?
{
l=new node;
l->next=NULL;
}
void creat(int a[],int n,node *&l)
{
node *s;
for(int i=0;i<n;i++)
{
s=new node;
s->a=a[i];
s->next=l->next;
l->next=s;
l=s;
}
l->next=NULL;
}
void display(node *l)
{
while (l->next!=NULL)
{
cout<<l->a<<endl;
l=l->next;
}
}
void main()
{
int a[4]={1,2,3,4};
node *list;
initlist(list);
creat(a,4,list);
display(list);怎么不能把链表中的所有节点的元素输出呢?
cout<<list->a<<endl;
}
我在使用后插法的时候,对整个链表遍历了一遍,并成功的付了值,但我找不到头指针,没法把整个链表输出了。
#include<iostream>
using namespace std;
struct node
{
int a;
node *next;
};
void initlist(node *&l)这里初始化了头节点,是不是就声明了头指针了呢?
{
l=new node;
l->next=NULL;
}
void creat(int a[],int n,node *&l)
{
node *s;
for(int i=0;i<n;i++)
{
s=new node;
s->a=a[i];
s->next=l->next;
l->next=s;
l=s;
}
l->next=NULL;
}
void display(node *l)
{
while (l->next!=NULL)
{
cout<<l->a<<endl;
l=l->next;
}
}
void main()
{
int a[4]={1,2,3,4};
node *list;
initlist(list);
creat(a,4,list);
display(list);怎么不能把链表中的所有节点的元素输出呢?
cout<<list->a<<endl;
}