#include <iostream>
using namespace std;
typedef char nodeEntry;
struct Node{
 //数据成员
 nodeEntry data;
 Node* next;
 //构建函数
 Node();
 Node(nodeEntry item,Node* link = NULL);
};
Node::Node()
{
 next = NULL;
}
Node::Node(nodeEntry item,Node* link)
{
 data = item;
 next = link;
}
int main()
{
 Node first_node('a'); //构建一个数据项为字符a的节点
 Node *p0 = &first_node;//定义一个指向节点first_node('a')的指针p0
 Node *p1 = new Node('b');//构建一个数据项为字符b的节点,由指针p1指向该节点
 p0->next = p1;//将后面建立的节点挂在第1个创立的节点后面
 Node *p2 = new Node('c',p0);//构建第2个节点,数据项为字符c,指针指向第1个节点
 p1->next = p2;//将第3个节点挂在第2个节点后面,形成一个循环链表
 cout<<"链表里面的元素为:";
 while(p0!=NULL){
 cout<<p0->data<<",";
 p0 = p0->next;
 }
 return 0;
}