时间:2024-10-28 来源:网络 人气:
链表是C语言编程中常用的一种数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表具有灵活的插入和删除操作,是解决许多编程问题的有力工具。
链表是一种线性表,与数组不同,链表中的元素在内存中不一定连续存储。链表中的每个元素称为节点,节点通常包含两部分:数据和指向下一个节点的指针。
根据节点中指针的个数,链表可以分为单链表、双链表和循环链表。
单链表:每个节点只有一个指向下一个节点的指针。
双链表:每个节点有两个指针,一个指向前一个节点,一个指向下一个节点。
循环链表:链表的最后一个节点的指针指向第一个节点,形成一个环。
创建链表通常从头节点开始,逐个添加节点。遍历链表则是按照节点的指针顺序访问每个节点。
创建链表
以下是一个创建单链表的示例代码:
```c
include
include
typedef struct Node {
int data;
struct Node next;
} Node;
Node createList(int arr[], int n) {
Node head = NULL;
Node temp = NULL;
for (int i = 0; i data = arr[i];
temp->next = NULL;
if (head == NULL) {
head = temp;
} else {
Node current = head;
while (current->next != NULL) {
current = current->next;
}
current->next = temp;
}
}
return head;
遍历链表
以下是一个遍历单链表的示例代码:
```c
void printList(Node head) {
Node current = head;
while (current != NULL) {
printf(