请定义链表节点结构linknode,内含一个int类型的数据和链表指针。然后设计形如link
时间: 2023-12-20 14:01:47 浏览: 124
设计一个基于链表的数据结构
链表节点结构linknode定义如下:
```c
// 定义链表节点结构
typedef struct LinkNode {
int data; // 节点数据
struct LinkNode* next; // 链表指针
} LinkNode;
```
然后设计形如linknode* createLinkList(int arr[], int n)的函数,该函数接受一个整型数组和数组长度n作为参数,返回一个指向链表头节点的指针。
```c
// 创建链表函数
LinkNode* createLinkList(int arr[], int n) {
LinkNode* head = NULL; // 头节点指针
LinkNode* tail = NULL; // 尾节点指针
for (int i = 0; i < n; i++) {
LinkNode* newNode = (LinkNode*)malloc(sizeof(LinkNode)); // 分配新节点内存空间
newNode->data = arr[i]; // 设置节点数据
newNode->next = NULL; // 新节点的next指针指向NULL
if (head == NULL) {
head = newNode; // 如果是第一个节点,将头节点指针指向新节点
} else {
tail->next = newNode; // 如果不是第一个节点,将上一个节点的next指针指向新节点
}
tail = newNode; // 尾节点指针指向新节点
}
return head; // 返回头节点指针
}
```
这样定义了链表节点结构和创建链表的函数。你可以通过调用createLinkList函数并传入一个整型数组来创建一个链表,然后遍历链表进行操作。
阅读全文