第1关:链表操作
任务描述
本关任务:算法设计题:设计一个算法,查找在带有头节点的单链表L中第一个最大的元素(元素值可以重复),并在该元素之后插入一个新的结点x。并分析此算法的时间复杂度及空间复杂度,写出分析的过程。 对应的链表结构体如下:
测试说明
本次实验无测试集,在编程区写出你的代码即可。并在你算法的最后写出你的算法的时间复杂度度和空间复杂度并写出分析过程。
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} LinkNode;
void insertAfterMax(LinkNode *head, int x) {
if (head == NULL || head->next == NULL) {
return;
}
LinkNode *maxNode = NULL;
Lin