选择排序法的基本原理是:每一趟排序从当前未排好序的那些元素中选择一个值最小的元素,将其未排好序的那些元素的第一个元素交换位置。请根据该原理写出对一个带有头结点的单链表按数据域值从小到大进行排序的算法。
设链表的头结点指针为list。链结点类型为:
typedef struct node{ int data; /*数据域*/ struct node *link; /*指针域*/ } *linklist;
每一个链结点的数据域中存放一个数据,但头结点数据域中不存放任何信息。
要求:
①算法中不得增加和使用新的链结点空间;
②不得改变链结点的数据域中原有的内容。