请用C语言帮我写一个代码,采用前插法创建带头节点的单链表,顺序输入设计的多个整数数据,创建单链表。函数名称:CreateSL
时间: 2024-02-24 17:00:24 浏览: 60
好的,以下是基于前插法创建带头节点的单链表的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} Node, *LinkedList;
// 创建带头节点的单链表
LinkedList CreateSL(int n) {
LinkedList head, p;
int i, x;
head = (LinkedList)malloc(sizeof(Node)); // 创建头节点
head->next = NULL;
for (i = 0; i < n; i++) {
scanf("%d", &x);
p = (LinkedList)malloc(sizeof(Node)); // 创建新的节点
p->data = x;
p->next = head->next; // 新节点指向头节点的下一个节点
head->next = p; // 头节点指向新节点
}
return head;
}
int main() {
int n;
printf("请输入要创建的节点个数:");
scanf("%d", &n);
LinkedList L = CreateSL(n); // 创建带头节点的单链表
printf("创建成功!");
return 0;
}
```
在上面的代码中,我们使用了结构体来定义节点,包括数据成员 `data` 和指向下一个节点的指针 `next`。`CreateSL` 函数采用前插法创建带头节点的单链表,并返回头节点指针。在 `main` 函数中,我们调用 `CreateSL` 函数来创建单链表,并输出创建成功的信息。
阅读全文