bool Del_Min(Sqlist &L,ElemType &min)
{
//删除顺序表L中最小值元素结点,并通过引用型参数value返回其值
//若删除成功,则返回true,否则返回false
if (L.length == 0)
return false; //表空,显示出错信息false,并退出返回
//假定0号元素的值最小
min = L.data[0];
int pos;
//循环,查找最小值元素及其位置
for (int i = 1; i < L.length; i++)
{
if (L.data[i] < min)
{
min = L.data[i];
pos = i;
}
}
L.data[pos] = L.data[L.length - 1];//最后一个元素填补原最小值元素的位置
L.length--;//删除最小值元素后,顺序表长度-1
return true;//删除成功,返回true
}
ElemType &min 形参是引用,所以函数里对 min 的操作,就相当于对函数调用时实参的操作,不需要通过函数返回。
最小值通过ElemType &min返回的,函数返回bool类型。