创建不带头结点,只有head指针(n个结点):
List Creat(int n)/*创建n个结点的循环单链表*/ { List head=NULL,s,r; for(int i=1;i<=n;i++)/*此处简易输入,也可改为键盘输入*/ { s=(List)malloc(sizeof(ListNode)); s->data=i; if(head==NULL) head=s; else r->next=s; } r->next=head;/*!将尾端与头部连接*/ return head; }
/*----------遍历------------*/ void Traverse(List &L) { List p=L; do { cout<<p->data<<" "; }while((p=p->next)!=L); }