用数据结构的内容用c++写俩个单链表并集的头文件
时间: 2023-05-15 19:07:26 浏览: 166
数据结构单双链表c++版
以下是用 C 语言实现两个单链表并集的头文件示例:
```c
#ifndef _LINKED_LIST_H_
#define _LINKED_LIST_H_
typedef struct Node {
int data;
struct Node* next;
} Node;
Node* createNode(int data) {
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = NULL;
return node;
}
void insertNode(Node** head, int data) {
Node* node = createNode(data);
if (*head == NULL) {
*head = node;
} else {
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = node;
}
}
Node* mergeLists(Node* list1, Node* list2) {
Node* mergedList = NULL;
Node** tail = &mergedList;
while (1) {
if (list1 == NULL) {
*tail = list2;
break;
} else if (list2 == NULL) {
*tail = list1;
break;
}
if (list1->data <= list2->data) {
*tail = list1;
list1 = list1->next;
} else {
*tail = list2;
list2 = list2->next;
}
tail = &((*tail)->next);
}
return mergedList;
}
#endif /* _LINKED_LIST_H_ */
```
这个头文件定义了一个 `Node` 结构体,表示单链表中的一个节点。`createNode` 函数用于创建一个新的节点,`insertNode` 函数用于将一个节点插入到链表的末尾。`mergeLists` 函数用于将两个有序链表合并成一个有序链表。
阅读全文