为上述代码编写主函数实现代码,体现插入元素的结果
时间: 2024-09-18 18:16:45 浏览: 16
当然,以下是包含主函数的代码示例,展示了如何通过头插法和尾插法将字符插入链表,并打印链表内容:
**头插法主函数(main_head_insert.c):**
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode {
char data;
struct ListNode* next;
} ListNode;
void insertAtHead(char input) {
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
newNode->data = input;
newNode->next = head->next;
head->next = newNode;
}
// 其他链表操作...(如初始化链表等)
int main() {
// 初始化链表
// ...(按照上述步骤创建头节点)
// 插入元素示例
for (int i = 'a'; i <= 'e'; ++i) {
printf("Inserting character %c at the beginning of the list:\n", i);
insertAtHead(i);
// 打印链表(这里假设有一个打印链表的方法,比如printList())
printList(head); // 假设这是一个已存在的函数
printf("\n");
}
return 0;
}
```
**尾插法主函数(main_tail_insert.c):**
```c
#include <stdio.h>
#include <stdlib.h>
// 同上
void insertAtTail(char input) {
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
newNode->data = input;
newNode->next = tail->next;
tail->next = newNode;
tail = newNode;
}
int main() {
// 初始化链表
// ...(按照上述步骤创建头节点)
// 插入元素示例
for (int i = 'a'; i <= 'e'; ++i) {
printf("Inserting character %c at the end of the list:\n", i);
insertAtTail(i);
// 打印链表
printList(head); // 假设这是一个已存在的函数
printf("\n");
}
return 0;
}
```
注意:`printList()`函数需要你自己实现,通常它会遍历链表并逐个打印节点数据。
阅读全文