建立带头结点链表,-1表示结束,输出。用C语言完成代码
时间: 2024-09-19 15:04:05 浏览: 36
在 C 语言中,创建一个带头结点的单向链表并支持-1作为结束标记,通常需要定义结构体(struct)、头结点变量、插入节点以及遍历等操作。以下是一个简单的示例:
首先,定义链表节点结构体:
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
然后,创建一个指向头结点的指针:
```c
Node* head = NULL;
```
接下来,我们添加一个函数用于插入节点(包括-1表示结束的处理):
```c
void insert(Node** head, int data) {
if (data == -1) { // 如果数据是-1,认为是列表结束标志
return;
}
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = *head; // 新节点的next指向前一个已有节点
if (*head != NULL) {
(*head)->next = newNode; // 如果链表非空,更新头结点的next
} else {
*head = newNode; // 链表为空,头结点就是新节点
}
}
```
最后,你可以编写一个遍历函数来显示链表内容(这里仅简单地打印到标准输出,实际应用中可能需要其他处理):
```c
void display(Node* node) {
while (node != NULL && node->data != -1) { // 遍历直到遇到-1
printf("%d ", node->data);
node = node->next;
}
printf("\n"); // 结束符
}
// 示例使用
int main() {
insert(&head, 1); // 插入元素
insert(&head, 2);
insert(&head, 3);
insert(&head, -1); // 插入结束标志
display(head); // 输出链表
return 0;
}
```
阅读全文