写一段C代码关于创建一个单向链表,实现结点移动功能
时间: 2023-06-08 19:04:55 浏览: 101
好的,我可以帮你写一段关于创建单向链表并实现结点移动功能的 C 代码。以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
void insert(struct Node** headRef, int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = (*headRef);
(*headRef) = newNode;
}
void move(struct Node** headRef) {
struct Node* temp = (*headRef);
(*headRef) = (*headRef)->next;
free(temp);
}
void printList(struct Node* node) {
printf("List: ");
while (node != NULL) {
printf("%d ", node->data);
node = node->next;
}
printf("\n");
}
int main() {
struct Node* head = NULL;
insert(&head, 4);
insert(&head, 3);
insert(&head, 2);
insert(&head, 1);
printList(head);
move(&head);
printList(head);
move(&head);
printList(head);
return 0;
}
```
这段代码实现了一个单向链表,并且带有结点移动功能。在 `main` 函数中,我们使用 `insert` 函数插入了四个结点,并使用 `printList` 函数打印了当前链表。
然后使用 `move` 函数移动一个结点,并再次使用 `printList` 函数打印当前链表。最终再次使用 `move` 函数移动一个结点,并打印链表,结束程序。
希望这段代码能够帮到你!
阅读全文