C语言代码,字符单链表,功能为输入插入位置,插入元素到该位置并打印出新的单链表
时间: 2023-04-08 10:00:31 浏览: 90
单链表,c语言程序
5星 · 资源好评率100%
好的,这个问题我可以回答。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
char data;
struct Node* next;
};
void insert(struct Node** head_ref, int pos, char data) {
struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));
new_node->data = data;
new_node->next = NULL;
if (pos == 1) {
new_node->next = *head_ref;
*head_ref = new_node;
return;
}
struct Node* prev = *head_ref;
for (int i = 1; i < pos - 1; i++) {
prev = prev->next;
if (prev == NULL) {
printf("Invalid position\n");
return;
}
}
new_node->next = prev->next;
prev->next = new_node;
}
void printList(struct Node* node) {
while (node != NULL) {
printf("%c ", node->data);
node = node->next;
}
printf("\n");
}
int main() {
struct Node* head = NULL;
insert(&head, 1, 'A');
insert(&head, 2, 'B');
insert(&head, 3, 'C');
insert(&head, 2, 'D');
printf("New list: ");
printList(head);
return 0;
}
```
这个代码实现了一个字符单链表,可以输入插入位置和插入元素,然后打印出新的单链表。
阅读全文