圈出链接列表C



我试图构建圆形链接lisrt,但我有问题如何找到尾部,如果它是链接列表

我尝试这个购买后2个链接我有错误

Node* ListMakeNode(Node* before, int val)
{
Node* node = (Node*)malloc(sizeof(Node));
Node* tail = (Node*)malloc(sizeof(Node));
tail = node;
if (node) {
node->value = val;
node->next = before;
}
while (tail->next != NULL && tail->next != node && tail->next != tail)
tail = tail->next;
tail->next = node;
return node;
}

根据循环链表的基础,您需要frontreartemp

typedef struct node
{
int value;
struct node *next;
} Node;
Node *front=NULL,*rear=NULL,*temp;

要创建节点,需要定义frontrear

Node *newnode;
newnode=(Node*)malloc(sizeof(Node));
newnode->value = 12;
newnode->next=NULL;
if(rear==NULL)
front=rear=newnode;
else
{
rear->next=newnode;
rear=newnode;
}
rear->next=front;

要显示所有节点,您需要在不干扰前部或后部的情况下使用temp,并且您需要进行检查,直到rear达到

temp=front;
for(;temp!=rear;temp=temp->next)
printf("n%d t",temp->value);
printf("n%d t",temp->value);

此处为完整代码https://pastebin.com/sQQAsj6m

相关内容

  • 没有找到相关文章

最新更新