编写函数MoveMaxToTail(),实现查找单链表中值最大的结点,并将其移动到链表尾部,注意其他结点的相对次序不变。要求尽量具有较高的时间效率。(还有另一种方式,采用冒泡排序法,在移动最大值到链表尾部时,链表各元素位置发生改变,详情请参考博主另一篇博客,链接https://blog.csdn.net/qq_50798384/article/details/108896504)
1.定义结构体和宏定义类型名
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
struct Node
{
DataType data;
struct Node* next;
};
typedef struct Node *PNode;
typedef struct Node *LinkList;
2.创建头节点,不对头节点进行赋值。代码如下
LinkList SetNullList_Link()
{
LinkList head = (LinkList)malloc(sizeof(struct Node));
if (head != NULL) head->next