6-4 单链表插入排序 (15分)
单链表插入排序 ###目的: 掌握单链表的应用和插入排序的思想。 ###内容: 编写一个函数insertion_sort
,对一个无序单链表采用插入排序的方式,将其按递增方式排序,构成有序单链表。系统后台已经给出函数CreateListR
和DispList
的实现,只需实现函数insertion_sort
即可。
###单链表结点类型定义:
typedef int ElemType; //元素的数据类型
typedef struct LNode {
ElemType data; //结点的数据域
struct LNode *next; //指向后继结点
} LinkNode; //单链表结点类型
函数接口定义:
//尾插法建立单链表,细节不表
void CreateListR(LinkNode *&L, ElemType a[], int n);
//输出线性表,细节不表
void DispList(LinkNode *L);
//单链表插入排序
void insertion_sort(LinkNode *&L);
其中 L
是带附加头结点的单链表的头指针。 数组a[]
存放创建无序单链