void sort(node* plst,int low,iny high,int *parray)//low与high是闭区间[low,high]
{
if(low<high)当数组至少有2个值时
{
int mid=(low+high)/2;//取出数组的中间值
sort(plst,low,mid,parray);//递归调用左半边链表进行排序
sort(plst,mid+1,high,parray);//递归调用右半边链表进行排序
mergearray(plst,low,mid,mid+1,high,parray);//对左右链表进行合并排序
}
}
void mergearray(node* p1,int l1,int h1,int l2,int h2,int *parray)//p1始终是头链表
{
<