关于链表C++
#include<iostream>using namespace std;
struct node
{
char data;
node *next;
};
node *create();
void show(node *Head);
int main()
{
node *Head;
cout<<"创建一个链表,请输入数据并以'#'结束:"<<endl;
Head=create();
cout<<"您刚才创建的链表为:"<<endl;
show(Head);
system("pause");
return 0;
}
node *create()
{
node *Head=NULL,*End=Head,*temp;
char tempp;
do
{
cin>>tempp;
if(tempp!='#')
{
temp=new node;
temp->data=tempp;
temp->next=NULL;
if(Head==NULL)Head=temp;
else End->next=temp;
End=temp;
}
}while(tempp!='#');
return Head;
}
void show(node *Head)
{
node *temp;
while(Head!=NULL)
{
cout<<Head->data<<" ";
Head=Head->next;
}
}
为什么在函数*create()中要在前面加上' * '?
在执行create后链表变量Head不是销毁了吗?怎么还可以输出链表?是不是在内存上有这个数据,我们把链表头拿到手就可以了?
追问:node * 类型是什么东西??