从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位 置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

题目描述:从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

bool DeleteMin(SqList &L,int &min){
	if(L.length == 0)
		return false;
	min = L.data[0];
	int pos = 0;
	for(int i = 1;i < L.length;i++){
		if(L.data[i] < min){
			min = L.data[i];
			pos = i;
		}
	}
	if(pos != L.length - 1)
		L.data[pos] = L.data[L.length - 1];
	return true;
}

你可能感兴趣的:(线性表,数据结构)