admin 管理员组

文章数量: 1087139


2024年5月20日发(作者:光盘映像文件img如何打开)

c语言单链表定义方式

单链表是一种非常常见的数据结构,在 C 语言中也可以很方便

地实现。下面,我们将逐步介绍如何定义单链表。

Step 1:定义一个节点结构体

首先,我们需要定义一个结构体来表示单链表的节点。节点包括

两个元素:数据和指向下一个节点的指针。

```c

typedef struct node {

int data; // 数据

struct node* next; // 指向下一个节点的指针

} Node;

```

在这个结构体中,我们使用了 `typedef` 关键字来给这个结构

体起了一个别名 `Node`。

Step 2:定义一个指向链表头节点的指针

接下来,我们需要定义一个指向链表头节点的指针,用于记录整

个链表的起点。

```c

Node* head = NULL;

```

这里我们将 `head` 初始化为 `NULL`,表示链表为空。

Step 3:创建新节点并添加到链表中

接下来,我们需要编写一个函数来创建一个新节点,并将其添加

到链表中。

```c

Node* createNode(int data) {

Node* newNode = (Node*)malloc(sizeof(Node)); // 申请一个

Node 大小的空间

newNode->data = data; // 将数据存入

新节点

newNode->next = NULL; // 将指针设置

为 NULL

return newNode; // 返回新节点

的指针

}

void addNode(int data) {

Node* newNode = createNode(data); // 创建一个新节点

if (head == NULL) { // 如果链表为空

head = newNode; // 则将头指针指向新节点

} else { // 否则

Node* temp = head; // 从头节点开始遍历

while (temp->next != NULL) { // 找到最后一个节点

temp = temp->next;

}

temp->next = newNode; // 将新节点添加到链表末

}

}

```

这个函数接受一个整数作为参数 `data`,用于将数据存入新节

点中。首先,我们调用 `createNode` 函数来创建一个新节点。如果

当前链表为空,则将头指针指向新节点;否则,我们从头节点开始遍

历,找到最后一个节点并将新节点添加到末尾。

Step 4:遍历整个链表

最后,我们需要编写一个函数来遍历整个链表,并输出每个节点

的数据。

```c

void printList() {

Node* temp = head; // 从头节点开始遍历

while (temp != NULL) { // 如果节点存在

printf("%d ", temp->data); // 输出节点数据

temp = temp->next; // 移动到下一个节点

}

printf("n"); // 换行

}

```

这个函数从头节点开始遍历整个链表,每次输出节点的数据并将

指针移动到下一个节点。最后,我们在每行的末尾添加一个换行符。

到此为止,我们已经完成了单链表的定义。通过这个简单的例子,

我们可以看到,C 语言中实现数据结构并不困难。掌握这些基础知识

对于进一步学习算法和数据结构非常有帮助。


本文标签: 节点 链表 定义 单链 函数