循环链表没什么不同的,只不过在头节点上动了一下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode {
char data;
struct LNode* next;
}LinkNode;//单向循环链表结构体的定义
//所谓循环链表其实和链表差不了多少你只要把tail的next指针从NULL换成第一个顶点就可以了
//这里使用尾插法
void Create(LinkNode* head)
{
char data;
head->next = NULL;
LinkNode *s,*tail=head;
scanf("%c", &data);
while (data != '#')
{
s = (LinkNode*)malloc(sizeof(LinkNode));
s->data = data;
s->next = NULL;
tail->next = s;
tail = s;
scanf("%c", &data);
}
tail->next = head;
}
int main()
{
LinkNode head;
LinkNode* temp,*head2=&head;
Create(&head);
temp = &head;
temp = temp->next;
while (temp!= head2)
{
printf("%c", temp->data);
temp = temp->next;
}
return 0;
}