1.要求
在顺序表中,删除具有最小值的元素(假设最小值唯一),
并由函数返回被删除元素的值,空出的位置由最后一个元素填补,
若顺序表为空,则提示错误并退出运行
2.代码实现
//默认已经定义好顺序表
bool Del_Min(SqList &L,int &value) //传入表L,value的修改结果需要带回,所以用&
if (L.length==0) return false; //若表为空,则提示错误信息
value=L.data[0]; //找最小元素,假设第一个元素最小
int pos=0; //记录最小元素的位序
for(int i=0;i<L.length;i++){ //遍历顺序表,找比初始定义的最小值,更小的元素,然后替代
if(L.data[i]<value){
value=L.data[i];
pos=i;
}
L.length--;
L.data[pos]=L.data[length-1]
return true;
}