日志18
今天深入学习了链表这种数据结构在 C 语言中的实现,重点运用了指针的知识。
链表由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。例如定义一个链表节点结构体:
c复制struct Node {
int data;
struct Node *next;
};
通过指针操作可以动态地创建、插入和删除节点。我编写了函数来实现链表的创建:
c复制struct Node* createList(int arr[], int size) {
struct Node *head = NULL, *temp = NULL;
for(int i = 0; i < size; i++) {
struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = arr[i];
newNode->next = NULL;
if(head == NULL) {
head = newNode;
temp = newNode;
} else {
temp->next = newNode;
temp = newNode;
}
}
return head;
}
这次实践让我对指针在复杂数据结构中的应用有了更深入的理解,也体会到了指针的强大之处。