「データ構造」―第2章 線形テーブル―数列テーブルから値が最も小さい(一意であるとみなされる)要素を削除し、削除した要素の値を関数で返すと、空いた位置は最後の要素で埋められますシーケンス テーブルが空の場合、エラー メッセージが表示され、操作は終了します。

タイトル:「データ構造」 - 第 2 章 線形テーブル - 配列リストから最小値を持つ要素 (一意であると仮定) を削除し、削除した要素の値を関数で返すと、空いた位置は関数で埋められます。 last element, if シーケンス リストが空の場合、エラー メッセージが表示され、操作は終了します。
分析:
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