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

题目:《数据结构》——第二章线性表——从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值,空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息,并退出运行。
分析:
1.查找最小元素(假设唯一)
2.并删除
3.函数返回被删元素的值
4.空缺位置由最后一个元素填补
5.若顺序表为空,则显示出错信息并退出运行。

int Del_Min(SqList &L;Elemtype &e){
    
    //由e返回最小元素的值
	if(L.length == 0)
		return false;//5.若顺序表为空,则显示出错信息并退出运行。
	int e = L.data[0];
	int n=0;
	for(i=0;i<L.length;i++)//看清i=0还是i=1,一般i=0时表示数组元素的下标;i=1时表示数组元素的位序(也即,看清i表示的是数组的位序还是,数组的下标)
	{
    
    
		if(L.data[i]<e)//1.判断查找最小元素
		{
    
    
			e = L.data[i]//怎么填补???—>怎么记下数组下标,便于更改
			n=i;
		}
		}
	L.data[n] = L.data[L.length-1];//2.4.空缺部位由最后一个元素填补
	L.length--;
	return true;
}

猜你喜欢

转载自blog.csdn.net/qq_45926254/article/details/126983086