我正在尝试遍历 C 中的循环单链接列表,但它显示了除最后一个元素之外的所有元素。错误在哪里?显示功能的其他部分中的条件可能会发生变化?但条件应该是什么?显示和创建链接列表的功能是:
struct node
{
int data;
struct node *next;
}*last;
void create(int num)
{
struct node *t,*q;
t=(struct node*)malloc(sizeof(struct node));
t->data=num;
//list is empty
if(last==NULL){
last=t;
t->next=last;
}
else
{
t->next=last->next;
last->next=t;
last=t;
}
return;
}
void display()
{
struct node *q;
q=(struct node*)malloc(sizeof(struct node));
if(last==NULL){
printf("no items in the list");
return;
}
else{
q=last->next;
while(q!=last){
printf("%d\n",q->data);
q=q->next;
}
}
//return;
}