是的,在C語言中,你可以自定義鏈表的節(jié)點結(jié)構(gòu)
#include <stdio.h>
#include <stdlib.h>
// 自定義節(jié)點結(jié)構(gòu)
typedef struct Node {
int data; // 數(shù)據(jù)域,用于存儲數(shù)據(jù)
struct Node* next; // 指針域,用于指向下一個節(jié)點
} Node;
// 創(chuàng)建新節(jié)點的函數(shù)
Node* create_node(int data) {
Node* new_node = (Node*) malloc(sizeof(Node));
new_node->data = data;
new_node->next = NULL;
return new_node;
}
// 向鏈表中添加節(jié)點的函數(shù)
void add_node(Node** head, int data) {
Node* new_node = create_node(data);
if (*head == NULL) {
*head = new_node;
} else {
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = new_node;
}
}
// 打印鏈表的函數(shù)
void print_list(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d -> ", current->data);
current = current->next;
}
printf("NULL\n");
}
int main() {
Node* head = NULL;
add_node(&head, 1);
add_node(&head, 2);
add_node(&head, 3);
print_list(head);
return 0;
}
在這個示例中,我們定義了一個名為Node
的結(jié)構(gòu)體,它包含一個整數(shù)數(shù)據(jù)域data
和一個指向下一個節(jié)點的指針域next
。我們還創(chuàng)建了幾個用于操作鏈表的函數(shù),如create_node
、add_node
和print_list
。在main
函數(shù)中,我們創(chuàng)建了一個空鏈表并向其中添加了一些節(jié)點,然后打印了鏈表。