#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data; // 数据域
struct Node *next; // 指针域
} Node;
int main() {
Node *head = NULL; // 头指针(不带头结点)
Node *tail = NULL; // 尾指针(用于优化尾插)
int num;
printf("输入整数序列(-1结束):\n");
while (1) {
scanf("%d", &num);
if (num == -1) break; // 输入-1结束
// 创建新节点
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = num;
newNode->next = NULL;
if (head == NULL) { // 链表为空
head = newNode; // 头指针指向新节点
tail = newNode; // 尾指针指向新节点
} else { // 链表非空
tail->next = newNode; // 尾节点的next指向新节点
tail = newNode; // 更新尾指针为新节点
}
}
// 打印链表(验证结果)
printf("链表元素: ");
Node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
// 释放链表内存(实际使用时需添加)
return 0;
}
10-16
1106

03-08
1188

08-26
863

11-26
7670

04-28