//地方不太够,其他函数和主函数都没写,请大神费心看看创建还是遍历有错误
struct NODE
{
int data;
struct NODE *next;
struct NODE *last;
};
typedef struct NODE Node;
void create_list(Node *head)
{
Node *tail = head;
Node *pnew = NULL;
int data;
while(1)
{
printf("Input a data(<= 0 to end input):");
scanf("%d", &data);
if(data <= 0)
{
break;
}
pnew = (Node *)malloc(sizeof(Node));
assert(pnew);
pnew->data = data;
pnew->next = tail->next;
tail->next = pnew;
pnew->last = tail;
tail = tail->next;
}
}
void output_list(Node *head)
{
if(is_empty(head))
{
fprintf(stderr, "Output List: Empty!\n");
return;
}
Node *tmp = head->next;
puts("——output——————————————");
while(tmp)
{
printf("%4d", tmp->data);
tmp = tmp->next;
}
puts("\n");
tmp = tmp->last;
puts("——reverse output————————————");
while(tmp)
{
printf("%4d", tmp->data);
tmp = tmp->last;
}
puts("");
}