include[HTML_REMOVED]
using namespace std;
struct Node
{
int val;
Node next;
Node(int value):val(value),next(0){}
};//定义了一个结构体,里面包含数值val,指针(地址)next。同时又构造了一个构造函数。注意构造体结尾要加;
int main()
{
//Node node =Node(1);//定义了一个链表的结点,值为1,指针是0,也就是指向空;
// Node p=[HTML_REMOVED]//定义了一个指针p为node的位置;
Nodep= new Node(1);//new Node(1)意味着定义了一个Node类型的变量,其val为1,返回值为它的地址。//这一步等于以上两步的集合
// p->next=p;p指向了它自己 ->意味着指针类型的变量的调用。
//例如第十一行,变量类型不是指针,那么就是node.next,node.val;这种调用方式,调用方式取决于前面那个变量的类型(是p还是node)
auto q=new Node(2);
auto o=new Node(3);
p->next=q;
q->next=o;
//pqo形成了单链表结构。那么头结点就是q,一般把头结点的地址存在一个head变量当中。
Node head=p;
for(Node i=head;i!=NULL;i=i->next)
cout<[HTML_REMOVED]val<<endl;//遍历链表
return 0 ;
}